Compare commits

..

11040 commits

Author SHA1 Message Date
63a4610221 update expected output
.. our auto-formatter introduces a blank line here that upstream
doesn't have, so our expected output's error location changes by
1 line.
2021-04-28 16:05:14 -05:00
a9f67ed70f objmodule: builtins override logic must come before native submodule special case
Otherwise, when a builtin object is overridden _back to its original value_,
nothing happens.
2021-04-28 16:05:14 -05:00
9795197c99 runtime0: Make flags match micropython
.. by moving our ASYNC flag after the flags defined upstream.

Fixes the test failure in mpy_native.
2021-04-28 16:05:12 -05:00
Scott Shawcroft
023a56fe43
Merge MicroPython 1.12 into CircuitPython 2021-04-28 12:33:39 -07:00
Scott Shawcroft
17fcd499b2
Merge pull request #4649 from tannewt/merge_1.11_2
Merge MicroPython v1.11 into CircuitPython
2021-04-27 11:02:02 -07:00
Scott Shawcroft
f99deeda68
Merge pull request #4668 from DavePutz/issue_4659
Increased possible pulsein length to ~65 ms.
2021-04-27 11:01:51 -07:00
Scott Shawcroft
9e183bbbba
Merge pull request #4674 from kattni/dotstar-pins
Adding clearer on-board DotStar pin names.
2021-04-27 10:56:47 -07:00
Melissa LeBlanc-Williams
36f1ac38cb
Merge pull request #4673 from makermelissa/main
Release display on FunHouse when entering DeepSleep
2021-04-27 10:15:50 -07:00
Kattni Rembor
4e1d2fa056 Adding clearer on-board DotStar pin names. 2021-04-27 12:52:24 -04:00
Melissa LeBlanc-Williams
d7faac11b8 Release display on FunHouse for DeepSleep 2021-04-27 09:09:23 -07:00
root
91739de71a Increased max pulse to 65535 us 2021-04-26 18:52:15 -05:00
Scott Shawcroft
76033d5115
Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
Kattni
65c1ddb570
Merge pull request #4667 from ajs256/trinkey_pixel_fixes
Trinkey pixel fixes
2021-04-26 17:19:14 -04:00
root
5bd1da21a2 Increased possible pulsein length to 32 ms. 2021-04-25 21:38:57 -05:00
Jeff Epler
92919c25c2
Merge pull request #4666 from DavePutz/issue_4660
Reset buffer index in PulseIn clear
2021-04-25 20:33:58 -05:00
Jeff Epler
7cf8f79dbf
Merge pull request #4656 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-25 20:33:34 -05:00
ajs256
de3c5ff976
oh crud, i forgot a semicolon 2021-04-25 16:42:58 -07:00
ajs256
4bafbca0c3 Trinkeys: Clear neopixels on board reset 2021-04-25 12:58:52 -07:00
ajs256
453fd9234f
Merge pull request #2 from adafruit/main
update fork
2021-04-25 12:36:53 -07:00
root
d1861a6b9c Reset buffer index in PulseIn clear 2021-04-25 14:24:21 -05:00
Hosted Weblate
6571e6d7b5 Merge remote-tracking branch 'origin/main' into main 2021-04-25 21:09:16 +02:00
Limor "Ladyada" Fried
f7f6a42f3d
Merge pull request #4663 from zapwizard/patch-1
Update pins.c
2021-04-25 15:09:13 -04:00
Hosted Weblate
7f81e15007 Merge remote-tracking branch 'origin/main' into main 2021-04-25 20:43:12 +02:00
Wellington Terumi Uemura
38f6b9c969
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-25 20:43:11 +02:00
Alvaro Figueroa
9700295ebe
Translated using Weblate (Spanish)
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-25 20:43:11 +02:00
Mark
927d5a0455
Merge pull request #4662 from gamblor21/rp2040_pulsein_fix_4657
Added statemachine deinit
2021-04-25 13:43:06 -05:00
zapwizard
889da596ff
Update pins.c
Both D0 and D1 were assigned to pin_GPIO7, fixed D0 to pin_GPIO6, which also matches the comment.
2021-04-25 13:10:52 -05:00
gamblor21
30f31639d3 Added statemachine deinit 2021-04-25 11:58:22 -05:00
Hosted Weblate
75349191a6 Merge remote-tracking branch 'origin/main' into main 2021-04-24 17:45:14 +02:00
Mark
ed374a89fb
Merge pull request #4655 from DavePutz/issue_4602
Issue 4602 - Correct timing of PulseOut on SAMD21
2021-04-24 10:45:10 -05:00
Hosted Weblate
929485e7ce Merge remote-tracking branch 'origin/main' into main 2021-04-24 16:31:32 +02:00
Dan Halbert
2ba2574ebf
Merge pull request #4619 from tyomitch/microbit
[build] Allow USB to be set to 0
2021-04-24 10:31:29 -04:00
Hosted Weblate
ccbd1073cc Merge remote-tracking branch 'origin/main' into main 2021-04-24 16:29:57 +02:00
Jonny Bergdahl
a680b37232
Translated using Weblate (Swedish)
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-24 16:29:57 +02:00
Hugo Dahl
7b492773e3
Translated using Weblate (French)
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-24 16:29:57 +02:00
Dan Halbert
80f05c76a8
Merge pull request #4654 from dhalbert/6.2.x-merge-1
Port #4645 to main
2021-04-24 10:29:52 -04:00
Hosted Weblate
b21afac006
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-23 22:32:05 +02:00
Hosted Weblate
63fd57a5bc Merge remote-tracking branch 'origin/main' into main 2021-04-23 22:32:02 +02:00
Wellington Terumi Uemura
7e5f00a0e2
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-23 22:32:02 +02:00
Jose David M
79fb03c240
Translated using Weblate (Spanish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-23 22:32:02 +02:00
Scott Shawcroft
80e8b4ac14
Merge pull request #4635 from jepler/pcc
WIP: Implement 'ParallelImageCapture' for samd51
2021-04-23 13:31:53 -07:00
8565a9ab90 shared-bindings: Fix type of Colorspace values in docs 2021-04-23 12:39:37 -05:00
Dan Halbert
454e78f41f merge #4645 from 6.2.x to main 2021-04-23 13:33:58 -04:00
Scott Shawcroft
e2e414927d
Merge pull request #4648 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-23 09:27:43 -07:00
Artyom Skrobov
4e3c1d4a4c [build] Allow USB to be set to 0
Unify USB-related makefile var and C def as CIRCUITPY_USB.

Always define it as 0 or 1, same as all other settings.

USB_AVAILABLE was conditionally defined in supervisor.mk,
but never actually used to #ifdef USB-related code.

Loosely related to #4546
2021-04-23 11:13:34 -04:00
05a81a066e displayio: Improve docs about Colorspaces 2021-04-23 09:57:24 -05:00
34c4cc1bd9 samd: Rename dma_{allocate,free} channel
These are now used in the (video) parallel capture device as well.
2021-04-23 09:46:33 -05:00
f838ff9528 raspberrypi: Remove debug prints 2021-04-23 09:44:01 -05:00
Dan Halbert
9d8545e5e2
Merge pull request #4645 from dhalbert/rp2040-uart-write
RP2040 and ESP32S2: Return correct count from UART.write()
2021-04-23 10:18:46 -04:00
Hosted Weblate
47a673b67d Merge remote-tracking branch 'origin/main' into main 2021-04-23 14:37:06 +02:00
Jonny Bergdahl
81313348bd
Translated using Weblate (Swedish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-23 14:37:05 +02:00
Dan Halbert
346740e152
Merge pull request #4609 from Neradoc/add_nrf_countio
NRF: implement countio
2021-04-23 08:37:00 -04:00
Hosted Weblate
0ced0f9713
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-22 19:16:49 +02:00
Hosted Weblate
eb93317aef Merge remote-tracking branch 'origin/main' into main 2021-04-22 19:16:47 +02:00
Jonny Bergdahl
71ec48a6db
Translated using Weblate (Swedish)
Currently translated at 100.0% (968 of 968 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-22 19:16:47 +02:00
Wellington Terumi Uemura
6d7045398d
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (968 of 968 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-22 19:16:46 +02:00
Hugo Dahl
954d3dcbf9
Translated using Weblate (French)
Currently translated at 100.0% (968 of 968 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-22 19:16:46 +02:00
Jose David M
4c6bfc8399
Translated using Weblate (Spanish)
Currently translated at 100.0% (968 of 968 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-22 19:16:45 +02:00
Dan Halbert
8f73270f2b
Merge pull request #4646 from tannewt/merge_mp1.10
Merge in MicroPython v1.10
2021-04-22 13:16:27 -04:00
10fee3e673 raspberrypi: Increase PIO clock speed in ParallelImageCapture
.. this allows DIV_4 and DIV_2 resolutions to work without being
jumbled.
2021-04-22 12:14:44 -05:00
2def016fd0 raspberrypi: Use 32-bit elements in FIFO
.. these do come in the right
2021-04-22 12:14:03 -05:00
7fb751808f raspberrypi: Implement ParallelImageCapture using PIO
.. based on code from Phil B.
2021-04-22 12:02:51 -05:00
Dan Halbert
c931c84e49 new cache id to fix failing xtensa builds 2021-04-22 10:45:25 -04:00
Dan Halbert
f1b5249d3c Fix esp32s2 uart.write() return value 2021-04-22 09:47:54 -04:00
Scott Shawcroft
09f7b43c64
Merge MicroPython 1.10 into CircuitPython 2021-04-21 15:59:17 -07:00
Scott Shawcroft
7a47213701
Merge pull request #4643 from jposada202020/improving_design_guide
Improving design guide
2021-04-21 15:41:25 -07:00
Dan Halbert
b3ffb3ab1f Return bytes written from RP2040 UART.write() 2021-04-21 18:38:35 -04:00
Scott Shawcroft
e90c52e06b
Merge pull request #4641 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-21 15:31:14 -07:00
jposada202020
b8253680bf Small corrections, adding examples requirements in the design guide. SI units corrections and clarifications. Using const and Defaults to in class documentation. Building reference change. 2021-04-20 18:55:50 -04:00
jposada202020
22b72ad9a7
Merge pull request #3 from adafruit/main
From Main
2021-04-20 17:53:33 -04:00
root
0e2431048d Fix PWMOut on SAMD21 2021-04-20 15:21:05 -05:00
46c9b1bc37 atmel-sam: Use DMA for ParallelImageCapture
This allows ctrl-c to interrupt the capture, and ensures we handle
interrupts & background tasks.
2021-04-20 13:52:44 -05:00
d50feebd2c atmel-sam: Factor out find_sync_event_channel_raise 2021-04-20 13:33:11 -05:00
4dcbdac97e Complete the 'horizontal_reference' rename 2021-04-20 11:33:32 -05:00
Hosted Weblate
5f1201e7e7
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-20 18:02:14 +02:00
Hosted Weblate
c0f37c20cc Merge remote-tracking branch 'origin/main' into main 2021-04-20 18:02:12 +02:00
Hugo Dahl
cd5763d368
Translated using Weblate (French)
Currently translated at 100.0% (968 of 968 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-20 18:02:12 +02:00
Dan Halbert
01979acd48
Merge pull request #4604 from tannewt/buffer_size
Assume max characteristic size when the client
2021-04-20 12:02:06 -04:00
Scott Shawcroft
14abea2af7
Merge pull request #4622 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-20 09:01:02 -07:00
5c5736ee1e atmel-sam: Allow PWM to go up to cpu_frequency/2
24MHz is the nominal external clock to use with OV7670.  (My testing
was actually at 16MHz)
2021-04-20 10:22:21 -05:00
99799cded6 imagecapture: implement to review suggestions 2021-04-20 10:21:32 -05:00
Scott Shawcroft
b057fb8a4b
codeformat 2021-04-19 22:22:44 -07:00
Hosted Weblate
c9b02e0f80 Merge remote-tracking branch 'origin/main' into main 2021-04-20 03:43:29 +02:00
Jeff Epler
18548fc5d2
Merge pull request #4620 from tannewt/fix_struct_pack
Fix struct.pack with padding bytes
2021-04-19 20:43:20 -05:00
Scott Shawcroft
68d5839f64
Port changes to ble_hci code 2021-04-19 15:10:33 -07:00
Scott Shawcroft
6620ac8bec
Fix py version of struct too. 2021-04-19 14:59:40 -07:00
Hosted Weblate
0120f15530 Merge remote-tracking branch 'origin/main' into main 2021-04-19 23:50:51 +02:00
Jonny Bergdahl
4701f0a2ef
Translated using Weblate (Swedish)
Currently translated at 100.0% (968 of 968 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-19 23:50:50 +02:00
Wellington Terumi Uemura
396f9072be
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (968 of 968 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-19 23:50:50 +02:00
Scott Shawcroft
e54e5e3575
Merge pull request #4564 from tyomitch/patch-1
[build] simplify makeqstrdata heuristic
2021-04-19 14:50:42 -07:00
Hosted Weblate
6ded933295
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-19 21:17:53 +02:00
Hosted Weblate
d46630b70a Merge remote-tracking branch 'origin/main' into main 2021-04-19 21:17:51 +02:00
Limor "Ladyada" Fried
83c768b25d
Merge pull request #4627 from aramcon-badge/aramcon2-badge
Add board definition files for ARAMCON2 Badge
2021-04-19 15:17:47 -04:00
Hosted Weblate
0c1f36b1e1 Merge remote-tracking branch 'origin/main' into main 2021-04-19 21:16:42 +02:00
Limor "Ladyada" Fried
17e419f129
Merge pull request #4633 from ZodiusInfuser/main
Tweaked Pimoroni board names
2021-04-19 15:16:37 -04:00
Hosted Weblate
ac69f7a175 Merge remote-tracking branch 'origin/main' into main 2021-04-19 21:15:13 +02:00
hexthat
b25829ecd9
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-04-19 21:15:13 +02:00
Limor "Ladyada" Fried
24fb3ccca6
Merge pull request #4634 from eddieespinal/atmegazero_esp32s2
Add board definition for the ATMegaZero ESP32-S2
2021-04-19 15:15:07 -04:00
Benny Meisels
f0b04d403d Add board definition files for ARAMCON2 Badge 2021-04-19 20:41:01 +03:00
76d68f21ac displayio: Add RGB555/565/_SWAPPED format support
This is helpful when displaying frames from an OV7670 camera, which
uses the RGB565_SWAPPED format internally.
2021-04-19 10:23:47 -05:00
Eddie Espinal
0e8b99dc65 Removes the USB_DEVICES entry as it's causing the build to fail. 2021-04-19 10:24:44 -04:00
Eddie Espinal
626f786e6b Add the atmegazero_esp32s2 to the build.yml file. 2021-04-19 09:07:32 -04:00
Eddie Espinal
fce6226ca5 Add board definition for the ATMegaZero ESP32-S2 2021-04-19 08:47:29 -04:00
ZodiusInfuser
efdbc6be08 Tweaked board name 2021-04-19 10:38:07 +01:00
Hosted Weblate
f83a925715 Merge remote-tracking branch 'origin/main' into main 2021-04-19 03:14:52 +02:00
Limor "Ladyada" Fried
b6fa90d0b5
Merge pull request #4625 from stonehippo/sparkfun_micromod_atp_rp2040
Added Sparkfun MicroMod RP2040
2021-04-18 21:14:47 -04:00
Hosted Weblate
b665f981dc Merge remote-tracking branch 'origin/main' into main 2021-04-18 16:18:23 +02:00
Limor "Ladyada" Fried
be21589722
Merge pull request #4631 from adafruit/anecdata-patch-1
Update mpconfigboard.h DEFAULT_I2C_BUS_SDA & _SCL pins to match pins.c and schematic
2021-04-18 10:18:19 -04:00
Hosted Weblate
34ba3ad242 Merge remote-tracking branch 'origin/main' into main 2021-04-18 16:17:45 +02:00
Limor "Ladyada" Fried
090f5b77fd
Merge pull request #4624 from adafruit/dhalbert-pico-gp24
Add VBUS_SENSE (GP24) to Pi Pico
2021-04-18 10:17:39 -04:00
anecdata
2198b1a4df
Update mpconfigboard.h 2021-04-17 20:15:04 -05:00
George White
5bd2e97865
Fix pin definitions
I missed a few pin definitions. Fixed those.
2021-04-17 18:43:49 -04:00
George White
493127f4bc pre-commit trailing space fixes 2021-04-17 17:43:13 -04:00
George White
e0bb7385a1
Added Sparkfun MicroMod RP2040
Added board definition for the Sparkfun MicroMod RP2040.

Mostly followed the format for pins from the MicroMod nRF52840 board
definition, as MicroMod tries to standardize pins across
microcontrollers.
2021-04-17 10:56:04 -04:00
Dan Halbert
b2160bdddd
Add VBUS_SENSE (GP24) to board
Prompted by https://forums.adafruit.com/viewtopic.php?f=60&t=178237.
Also add some whitespace to make pin aliases stand out, and add GP23 as an alias for `SMPS_MODE`.
2021-04-17 08:51:20 -04:00
Hugo Dahl
b0a6395ef0
Translated using Weblate (French)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-17 05:26:58 +02:00
fc4538f845 WIP: Implement 'ParallelImageCapture' for samd51 2021-04-16 17:18:59 -05:00
Scott Shawcroft
390398371d
Update tests/basics/struct1.py
Co-authored-by: ajs256 <67526318+ajs256@users.noreply.github.com>
2021-04-16 15:03:29 -07:00
Dan Halbert
0189b80aa4
Merge pull request #4605 from tannewt/build_fail_matcher
Add build file matcher to pull out which board/language builds fail
2021-04-16 16:46:49 -04:00
Scott Shawcroft
5ccd5dc08b
Fix struct.pack with padding bytes
It used to validate the following arg could fit in a single byte.
Now, it always uses zero to pad.
2021-04-16 12:39:23 -07:00
Scott Shawcroft
81e11ae063
Fix type 2021-04-16 11:30:10 -07:00
ZodiusInfuser
efa9cfa5ec Tweaked board name 2021-04-16 18:02:10 +01:00
Dan Halbert
15f8b80005
Merge pull request #4617 from Neradoc/search-filter-in-support-matrix
Add a filter text field to the support matrix
2021-04-15 21:40:10 -04:00
Scott Shawcroft
43c16c89c4
Account for max_packet_size in outgoing length 2021-04-15 16:34:06 -07:00
Dan Halbert
f55d684057
Merge pull request #4612 from ZodiusInfuser/main
Added definitions for Pimoroni RP2040-based boards
2021-04-15 19:20:24 -04:00
Scott Shawcroft
00f9891cfa
Merge pull request #4618 from adafruit/tannewt-patch-2
Bump ESP-IDF cache key
2021-04-15 15:34:11 -07:00
Scott Shawcroft
0be5cbb5b6
Bump ESP-IDF cache key
Builds are failing with current cache
2021-04-15 10:21:26 -07:00
Scott Shawcroft
dfdd6b0365
Merge pull request #4613 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-15 10:17:19 -07:00
Neradoc
827f67813f add a filter text field to the support matrix 2021-04-15 19:05:50 +02:00
Jonny Bergdahl
63d71dc079
Translated using Weblate (Swedish)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-15 16:26:58 +02:00
Wellington Terumi Uemura
eb44d130c6
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-15 16:26:58 +02:00
Alvaro Figueroa
017bd6362e
Translated using Weblate (Spanish)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-15 16:26:57 +02:00
ZodiusInfuser
51570eb58b Sorted board list 2021-04-15 12:06:58 +01:00
ZodiusInfuser
1c700a82c9 Removed trailing whitespaces 2021-04-15 12:01:47 +01:00
ZodiusInfuser
f69bf8beb9 Removed whitespaces 2021-04-15 11:57:27 +01:00
ZodiusInfuser
d67ccb625c Added correct USB PIDs 2021-04-15 11:41:46 +01:00
Scott Shawcroft
aa28d4f315
Allow setting max_packet_size for PacketBuffer
This is handy for remote characteristics because it allows for
the PacketBuffer binding code to have the correct max size. This
PR also adds checks so we don't write outside the outgoing buffer.
2021-04-14 17:09:48 -07:00
Neradoc
223027fe9e
shrink simmel 2021-04-15 01:43:02 +02:00
ZodiusInfuser
e4456bd756 Added definitions for PicoLipo boards 2021-04-14 23:09:10 +01:00
Scott Shawcroft
fc39acb612
Merge pull request #4608 from tyomitch/patch-2
[repl] Don't autocomplete globals after "import "
2021-04-14 12:25:42 -07:00
Scott Shawcroft
3978b50b8d
Merge pull request #4489 from gamblor21/audiomixer_rp2040
Add non M4 audiomixer support
2021-04-14 12:19:17 -07:00
Scott Shawcroft
103deb2f5f
Merge pull request #4603 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-14 12:17:58 -07:00
Scott Shawcroft
8bef15aa2d
Match build failures to better highlight them 2021-04-14 11:52:00 -07:00
ZodiusInfuser
8ef6d0c9a9 Merge remote-tracking branch 'upstream/main' into main 2021-04-14 19:31:27 +01:00
Artyom Skrobov
d9e15adb01 [repl] Don't autocomplete globals after "import " 2021-04-14 12:16:28 -04:00
Neradoc
0d743224f2 add countio to nrf port 2021-04-14 01:37:19 +02:00
Scott Shawcroft
b273f59c4e
Assume max characteristic size when the client 2021-04-13 15:37:47 -07:00
gamblor21
cd8deb0b72 Removed all the M4 comments 2021-04-13 17:36:14 -05:00
Hosted Weblate
84b980ddbd
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-14 00:09:37 +02:00
Hosted Weblate
46de3ca203 Merge remote-tracking branch 'origin/main' into main 2021-04-14 00:09:35 +02:00
hexthat
23b248f1de
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-04-14 00:09:35 +02:00
Jonny Bergdahl
2d9a5fcbab
Translated using Weblate (Swedish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-14 00:09:35 +02:00
Wellington Terumi Uemura
036e3cf412
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-14 00:09:34 +02:00
Hugo Dahl
4bf9243de9
Translated using Weblate (French)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-14 00:09:34 +02:00
Jose David M
cca57fa16d
Translated using Weblate (Spanish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-14 00:09:33 +02:00
Scott Shawcroft
b1f4a9a9fd
Merge pull request #4447 from tyomitch/patch-3
[synthio] add a simple MidiTrack implementation
2021-04-13 15:09:23 -07:00
Kattni
9a3f04a1b8
Merge pull request #4599 from dhalbert/neopixel-trinkey-storage
Turn storage back on for NeoPixel Trinkey
2021-04-13 12:42:46 -04:00
Limor "Ladyada" Fried
1163af5d48
Merge pull request #4591 from jepler/same51-modules
same51: enable specific modules based on chip family
2021-04-13 11:47:08 -04:00
Dan Halbert
cc36402a64 turn storage back on 2021-04-13 11:06:59 -04:00
95a75b0410 update protomatter 2021-04-13 08:48:40 -05:00
Artyom Skrobov
92d7f31046 [synthio] disable in stm32f411ce_blackpill_with_flash
region `FLASH_FIRMWARE' overflowed by 228 bytes
2021-04-13 03:01:55 -04:00
Artyom Skrobov
c6ee471b52 Merge branch 'main' of https://github.com/adafruit/circuitpython into patch-3 2021-04-13 00:32:19 -04:00
Dan Halbert
37887c42a4
Merge pull request #4595 from ladyada/moretrinkey
Moretrinkey
2021-04-12 23:45:25 -04:00
Mark
7ace53f22c
Remove comment for define being M4 only it can be M7 too
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-04-12 22:35:55 -05:00
DavePutz
d5768c5338
Merge pull request #46 from adafruit/main
Update from adafruit main
2021-04-12 22:28:41 -05:00
lady ada
d136078768 try re-enabling storage 2021-04-12 22:17:20 -04:00
Scott Shawcroft
2a78a5154f
Merge pull request #4594 from Neradoc/patch-1
fix removing past releases from circuitpython.org
2021-04-12 15:46:04 -07:00
Scott Shawcroft
bd5a3a3ba4
Merge pull request #4583 from tyomitch/patch-2
[qstr] Separate hash and len from string data
2021-04-12 15:06:40 -07:00
Scott Shawcroft
a490376576
Merge pull request #4587 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-12 15:04:52 -07:00
Neradoc
b8d55d6dbf
fix removing past releases from circuitpython.org
When releasing a new stable, unstable releases would be left in because the past stable was removed.
2021-04-12 23:37:41 +02:00
lady ada
8053d4a7a3 remove neopixels 2021-04-11 22:33:03 -04:00
4f36504aeb same51: enable specific modules based on chip family
closes #4590
2021-04-11 20:07:59 -05:00
lady ada
42abb982fe rename proxsense to proxlight 2021-04-11 18:39:14 -04:00
lady ada
ff07b8f2d1 typo 2021-04-11 17:49:57 -04:00
lady ada
9dc6d691b8 add prox trinkey and rename others to adafruit_ 2021-04-11 17:45:37 -04:00
lady ada
56be8306cd try adding a submodule? 2021-04-10 23:22:13 -04:00
lady ada
137745e911 neokey trinkey friend 2021-04-10 23:04:48 -04:00
Hosted Weblate
2506ed7855
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-11 03:30:44 +02:00
Hosted Weblate
05af973478 Merge remote-tracking branch 'origin/main' into main 2021-04-11 03:30:26 +02:00
Hugo Dahl
b6a3a07fe1
Translated using Weblate (English (United Kingdom))
Currently translated at 99.0% (960 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/en_GB/
2021-04-11 03:30:25 +02:00
Hugo Dahl
8956ad8f15
Translated using Weblate (French)
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-11 03:30:24 +02:00
Dan Halbert
c333acdbad
Merge pull request #4589 from hugodahl/feature/Remove-MicroPython-mention-in-error-messages
Make error messages platform agnostic
2021-04-10 21:30:17 -04:00
Hugo Dahl
36f3897fe3 Make error messages platform agnostic
Remove mentions of 'MicroPython' in error messages as they could lead to confusion in lesser-experienced users
2021-04-10 18:36:53 -05:00
Hosted Weblate
2a6386fb59 Merge remote-tracking branch 'origin/main' into main 2021-04-10 17:25:19 +02:00
Jeff Epler
0365755ebd
Merge pull request #4579 from tannewt/interrupt_serial
Don't block serial output in interrupt
2021-04-10 10:25:08 -05:00
Scott Shawcroft
eacb7dbe58
Don't block serial output in interrupt
The interrupt may have a higher priority than the serial output's
(USB) interrupt and may never make room. This makes prints from
interrupts (like the BLE event calls) best effort for what can be
queued up. The rest of the output will be dropped.
2021-04-09 12:56:03 -07:00
Jose David M
991413a469
Translated using Weblate (Spanish)
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-09 21:26:57 +02:00
jposada202020
cd7f5fe350
Merge pull request #2 from adafruit/main
From Main
2021-04-09 14:10:14 -04:00
Scott Shawcroft
ebfe36c9aa
Merge pull request #4576 from felixerdy/main
Add senseBox MCU
2021-04-09 10:27:37 -07:00
Dan Halbert
11b9a5e605
Merge pull request #4577 from dglaude/patch-1
Respect product name: space between QT and Py
2021-04-09 13:10:19 -04:00
Dan Halbert
1b60c9d033
Merge pull request #4580 from jepler/incrementalencoder-refactor
IncrementalEncoder: factor out the quadrature state machine
2021-04-09 13:10:02 -04:00
Dan Halbert
35d618b656
Merge pull request #4584 from adafruit/revert-3291-robots.txt
Revert "add robots.txt to specify doc versions to appear in search engines"
2021-04-09 13:09:16 -04:00
Lucian Copeland
371862cf5c
Merge pull request #4582 from kevinlutzer/kl/add-flash-for-black-pill
Add Flash Specified in STM32F4 Black Pill Schematic to Board Config
2021-04-09 13:02:32 -04:00
Dan Halbert
61e33a5619 fix nrf ISR; make direction consistent across ports; save code size 2021-04-09 11:07:47 -04:00
280aefffb7 IncrementalEncoder: Re-add missing update of quarter_count
This lost line caused incremental encoders to stay stuck at 0 forever.

I seem to have lost it while trying to create tidy commits :frown:
2021-04-09 08:47:40 -05:00
Dan Halbert
ddca91020e
Revert "add robots.txt to specify doc versions to appear in search engines" 2021-04-09 09:28:20 -04:00
Artyom Skrobov
dcee89ade7 build: simplify compute_huffman_coding()
No functional change.
2021-04-09 08:36:26 -04:00
Artyom Skrobov
68920682b6 [build] simplify makeqstrdata heuristic
The simpler one saves, on average, 51 more bytes per translation;
the biggest translation per board is reduced, on average, by 85 bytes.
2021-04-09 07:18:40 -04:00
felixerdy
ca6dda4d2b reorder alias 2021-04-09 08:35:13 +02:00
Kevin Lutzer
4fb3139273 switch orders the flash memory is listed 2021-04-08 21:56:25 -06:00
Kevin Lutzer
c672b33770 add W25Q64JVxQ as a supported flash for stm32f411 black pill 2021-04-08 21:53:38 -06:00
Dan Halbert
8a86f9dff6
Merge pull request #4581 from adafruit/qt-py-rp2040-d3
D3 pin should be GPIO26
2021-04-08 22:40:04 -04:00
Dan Halbert
fdc5bb41f4
D3 pin should be GPIO26 2021-04-08 19:11:27 -04:00
Dan Halbert
72055ff02b
Merge pull request #4578 from tannewt/packetbuffer_lengths
Improve PacketBuffer lengths and remove packet_size
2021-04-08 18:55:24 -04:00
d69ca4a8ae nrf: switch to shared softencoder implementation 2021-04-08 16:36:10 -05:00
3aec1032f7 atmel-samd: switch to shared softencoder implementation 2021-04-08 16:32:36 -05:00
3ce0b512f8 rasberrypi: IncrementalEncoder: factor out state machine 2021-04-08 16:25:47 -05:00
Scott Shawcroft
5ec195b5ef
Remove PacketBuffer.packet_size
Fixes #2853
2021-04-08 13:29:26 -07:00
Scott Shawcroft
e3b3f97fa6
Improve PacketBuffer packet lengths for remote service 2021-04-08 13:25:11 -07:00
Dan Halbert
19235d9c31
Merge pull request #4572 from jepler/re-compilecode-overflow
extmod/re1.5: Check and report byte overflow errors in _compilecode.
2021-04-08 16:01:51 -04:00
David Glaude
5d6bef569d
Respect product name: space between QT and Py
https://www.adafruit.com/product/4900 say "Adafruit QT Py RP2040"

This is also matching other "QT Py" product.
2021-04-08 21:50:16 +02:00
felixerdy
e5cffa94e8 add aliases for TX and RX 2021-04-08 21:19:27 +02:00
Scott Shawcroft
0539b88a6b
Merge pull request #4561 from bd34n/bdmicro_vina_d51_update
boards/bdmicro_vina_d51: A few updates for flexibility and expansion.
2021-04-07 10:33:58 -07:00
Scott Shawcroft
af4b6e3598
Merge pull request #4573 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-07 10:26:42 -07:00
Brian Dean
8544249fc0 boards/bdmicro_vina_d51: Replace old rev with new rev and rename.
This update to the PR retains the earlier board rev (with a rename) so
that backward binary compatibility is not lost for the earlier board
revision. The primary name 'vina-d51' is retained for the latest
revision to make it easy for customers to select the proper UF2
download - because the name matches the commercial name.

Details:

Replace bdmicro_vina_d51 with bdmicro_vina_d51_pcb7 (revision 7 of
PCB) with boardfiles unmodified. Add _pcb7 to the workflow build.

Replace bdmicro_vina_d51 boardfile content with latest PCB updates
(revision 10 ov PCB). Add minimal comments in the board files to make
it clear which PCB revision is implemented. Update the USB PID to
reflect an updated board revision.
2021-04-07 09:11:30 -04:00
Wellington Terumi Uemura
203e3c8fee
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-07 14:23:42 +02:00
Reza Almanda
088c51cc80
Translated using Weblate (Indonesian)
Currently translated at 46.8% (454 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2021-04-07 14:23:41 +02:00
Limor "Ladyada" Fried
e6aaf9924f
Merge pull request #4570 from jepler/mimxrt-busdevice
mimxrt10xx: enable adafruit_bus_device in core
2021-04-06 20:15:23 -04:00
2fb5eb3b11 extmod/re1.5: Check and report byte overflow errors in _compilecode.
The generated regex code is limited in the range of jumps and counts, and
this commit checks all cases which can overflow given the right kind of
input regex, and returns an error in such a case.

This change assumes that the results that overflow an int8_t do not
overflow a platform int.

Closes: #7078

Signed-off-by: Jeff Epler <jepler@gmail.com>

# Conflicts:
#	extmod/re1.5/compilecode.c
2021-04-06 19:11:40 -05:00
Dan Halbert
82479b6a2c
Merge pull request #4503 from hierophect/sleep-api-update
Sleep API changes and fix for main.c silent issue
2021-04-06 16:53:25 -04:00
Scott Shawcroft
6097afdaa5
Merge pull request #4559 from jepler/rp2-rotary-encoder-fixes
raspberrypi: Several rotary encoder fixes
2021-04-06 10:00:26 -07:00
Scott Shawcroft
e532e6a529
Merge pull request #4565 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-06 10:00:12 -07:00
Artyom Skrobov
c3e40d50ab [qstr] Separate hash and len from string data
This allows the compiler to merge strings: e.g. "update",
"difference_update" and "symmetric_difference_update"
will all point to the same memory.

Shaves ~1KB off the image size, and potentially allows
bigger savings if qstr attrs are initialized in qstr_init(),
and not stored in the image.
2021-04-06 12:58:42 -04:00
Hosted Weblate
2a5fe57e43 Merge remote-tracking branch 'origin/main' into main 2021-04-06 16:42:21 +02:00
Limor "Ladyada" Fried
e0386a8598
Merge pull request #4566 from adafruit/tannewt-patch-1
Remove colocate doc reference
2021-04-06 10:42:18 -04:00
Hosted Weblate
d133eeedc2 Merge remote-tracking branch 'origin/main' into main 2021-04-06 16:41:27 +02:00
Jonny Bergdahl
30c02df4a5
Translated using Weblate (Swedish)
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-06 16:41:27 +02:00
Limor "Ladyada" Fried
354be8cbcc
Merge pull request #4569 from lesamouraipourpre/displayio-doc-fixes
Minor documentation fixes in displayio
2021-04-06 10:41:22 -04:00
1a2ce27b73 raspberrypi: Drop support for auto-reversing swapped encoder 2021-04-06 09:22:59 -05:00
1a163dd70d mimxrt10xx: enable adafruit_bus_device in core 2021-04-06 09:19:41 -05:00
James Carr
8958c1e227 Minor documentation fixes in displayio 2021-04-06 10:47:46 +01:00
Scott Shawcroft
71eabe814c
Update StateMachine.c 2021-04-05 16:17:08 -07:00
Hosted Weblate
1c98b823b6
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-06 00:35:50 +02:00
Hosted Weblate
27361e1187 Merge remote-tracking branch 'origin/main' into main 2021-04-06 00:35:48 +02:00
Jonny Bergdahl
322174a492
Translated using Weblate (Swedish)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-06 00:35:48 +02:00
Wellington Terumi Uemura
334a1e3ba6
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-06 00:35:48 +02:00
Jose David M
989f9b52be
Translated using Weblate (Spanish)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-06 00:35:47 +02:00
Lucian Copeland
bf58afdb2a
Merge pull request #4399 from tyomitch/patch-2
[stm] implementation of audiopwmio
2021-04-05 18:35:39 -04:00
Scott Shawcroft
e962b24da1
Merge pull request #4549 from jepler/writable-bitmaps
displayio.Bitmap: Allow modification though the buffer protocol
2021-04-05 14:23:16 -07:00
Brian Dean
3e558a89ac boards/bdmicro_vina_d51: A few updates for flexibility and expansion.
ESP-01 header renamed to AUX, and expanded to 12 pins from 8
pins. Pins 1-8 still accommodate the ESP-01, with expansion to full
SERCOM 4-pad support to allow for SPI and I2C on that expansion port
with additional GPIO control.

Update pins.c with additional signals provided AUX_1-8, along with
UART, SPI, I2C name usage as aliases to appropriate AUX_1-8
signals. Additionally, add several alternate names specific to several
expansion modules - the ESP-01, and the ATW-01 using the WINC_1500
(SPI) w/interrupt and control needed for the WINC - with assignments
to module pin positions.

Re-work SERCOM assignments to accommodate the above from other parts
of the board, which required moving a SERCOM or two around in order to
accommodate the 4-pad sercom pin mapping on the AUX port.

Built and tested using latest from 'main':

Adafruit CircuitPython 6.2.0-rc.0-70-ga1562430f-dirty on 2021-04-05;
BDMICRO VINA-D51 with samd51n20
2021-04-05 10:44:52 -04:00
Dan Halbert
a1562430f6
Merge pull request #4560 from dhalbert/fix-hid-order
Put mouse before gamepad due to MacOS being finicky
2021-04-04 23:11:14 -04:00
Dan Halbert
0357af1726 Put mouse before gamepad due to MacOS being finicky 2021-04-04 21:48:54 -04:00
Jeff Epler
71576932a3
Merge pull request #4558 from dhalbert/6.2.x-fix-hid-order
Put mouse before gamepad due to MacOS being finicky
2021-04-04 20:36:14 -05:00
fc86475de5 IncrementalEncoder: support swapped pins
Closes: #4422
2021-04-04 13:49:50 -05:00
93d6ceedd9 IncrementalEncoder: Disconnect interrupt handler during deinit.
Closes: #4557
2021-04-04 13:49:41 -05:00
bcd90dd927 IncrementalEncoder: There are no out pins.
Closes #4556
2021-04-04 13:49:21 -05:00
Dan Halbert
ae80378c4e
Merge pull request #4545 from ElectronicCats/huntercat_nfc
HunterCat NFC
2021-04-04 14:21:49 -04:00
Dan Halbert
57e70adc69
Merge pull request #4553 from jepler/decompress-length-fix
decompress: Fix decompression when length takes 7 bits
2021-04-04 14:21:09 -04:00
Dan Halbert
8a8deb4c6f Put mouse before gamepad due to MacOS being finicky 2021-04-04 14:07:28 -04:00
234fa2a226 decompress: Fix decompression when length takes 7 bits
This manifested as incorrect error messages from mpy-cross, like
```
$ mpy-cross doesnotexist.py
OSError: [Errno 2] cno such file/director
```

The remaining bits in `b` must be shifted to the correct position before
entering the loop.

For most (all?) actual builds, compress_max_length_bits was 8 and the
problem went unnoticed.
2021-04-04 11:15:33 -05:00
sabas1080
8b6ffba392 Update comment 2021-04-04 11:10:32 -05:00
Jeff Epler
27d8832868
Merge pull request #4512 from m-byte/main
Add Artisense RD00 board files
2021-04-03 18:40:59 -05:00
Jeff Epler
d04eab530e
Merge pull request #4550 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-03 18:36:25 -05:00
Hosted Weblate
cc44554165 Merge remote-tracking branch 'origin/main' into main 2021-04-03 23:57:56 +02:00
Jeff Epler
a9b42a0e27
Merge pull request #4548 from tyomitch/patch-1
[repl] Autocomplete builtin modules
2021-04-03 16:57:53 -05:00
Hosted Weblate
ca1467187e
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-03 23:57:49 +02:00
Hosted Weblate
61414ea1f8 Merge remote-tracking branch 'origin/main' into main 2021-04-03 23:57:47 +02:00
Jonny Bergdahl
cf51640157
Translated using Weblate (Swedish)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-03 23:57:47 +02:00
Hugo Dahl
3969ce2990
Translated using Weblate (French)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-03 23:57:47 +02:00
Jose David M
22e8863a00
Translated using Weblate (Spanish)
Currently translated at 100.0% (967 of 967 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-03 23:57:46 +02:00
Jeff Epler
e1e4d21db4
Merge pull request #4547 from jepler/upgrade-ulab-2.6.0
Upgrade ulab 2.6.0
2021-04-03 16:57:41 -05:00
Artyom Skrobov
59fa9b01ad [repl] Autocomplete builtin modules 2021-04-03 16:56:02 -04:00
Artyom Skrobov
1d55dee15b [repl] Refactor autocomplete, extracting reusable parts 2021-04-03 16:54:34 -04:00
Artyom Skrobov
6e17db3286 [repl] Refactor autocomplete to reduce nesting 2021-04-03 15:54:36 -04:00
97fd77b3bb make translate 2021-04-03 13:22:28 -05:00
Artyom Skrobov
4ee781227f [meowbit] change board.BUZZ type to PWMAudioOut,
as advised in #4257
2021-04-03 13:35:19 -04:00
30e612fd55 ulab: upgrade to 2.6.0 + CP building changes
Changes in ulab: https://github.com/v923z/micropython-ulab/pull/360
2021-04-03 12:23:48 -05:00
78089107bc displayio.Bitmap: Allow modification though the buffer protocol
It is required to call .dirty() with appropriate arguments after modifications through the buffer protocol, or the display might not be updated correctly.
2021-04-03 10:41:20 -05:00
Matthias Breithaupt
43ba81ffa1 Add Artisense RD00 board files 2021-04-03 17:20:59 +02:00
Jeff Epler
a78d00a73d
Merge pull request #4544 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-03 08:43:14 -05:00
Hosted Weblate
bb19264880
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-03 03:09:50 +02:00
Hosted Weblate
54a6bf4f54 Merge remote-tracking branch 'origin/main' into main 2021-04-03 03:09:48 +02:00
Dan Halbert
3af02b692b
Merge pull request #4543 from bergdahl/main
Changed confusing error messages.
2021-04-02 21:09:44 -04:00
sabas1080
d4a45d401d add hunter cat nfc buld.yml 2021-04-02 18:38:37 -06:00
gamblor21
9bf4b4d81e Fixes to math for level calculations 2021-04-02 16:47:25 -05:00
sabas1080
53f3282e9c change flash device 2021-04-02 14:42:38 -06:00
sabas1080
f8da94b8ba removed o¡modules not availables 2021-04-02 14:40:27 -06:00
Jonny Bergdahl
7c164f0786 Ran make translate 2021-04-02 21:34:16 +02:00
sabas1080
c1987b7311 init port hunter cat nfc! 2021-04-02 13:19:59 -06:00
Hosted Weblate
7c36e53b5b
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-02 21:08:50 +02:00
Hosted Weblate
2adb4b5e49 Merge remote-tracking branch 'origin/main' into main 2021-04-02 21:08:47 +02:00
Jose David M
72d970ad98
Translated using Weblate (Spanish)
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-04-02 21:08:47 +02:00
Dan Halbert
c4a90d8857
Merge pull request #4533 from jepler/upgrade-ulab
update ulab to 2.1.5 (+ a doc building fix in ulab)
2021-04-02 15:08:41 -04:00
Jonny Bergdahl
1afd204828 Changed error message to display the generic term 'system firmware' instead of the Nordic specific term 'soft device' 2021-04-02 20:34:37 +02:00
fb7b968b10 py.mk: locate ulab sources with shell-find. 2021-04-02 13:09:23 -05:00
3f158450f9 can't xref this right now 2021-04-02 13:09:23 -05:00
5a56df989f can't xref this right now 2021-04-02 13:09:23 -05:00
758dc81fcb displayio: ulab.frombuffer -> ulab.numpy.frombuffer 2021-04-02 13:09:23 -05:00
b1dfd64fdc stubs: ulab.array -> ulab.ndarray 2021-04-02 13:09:23 -05:00
4c0245bac6 make translate 2021-04-02 13:09:23 -05:00
dc9daba906 update ulab to 2.1.5 2021-04-02 13:09:23 -05:00
Scott Shawcroft
51c09e877d
Merge pull request #4539 from Neradoc/add-alias-boards-to-support-matrix
add alias boards and modules to the support matrix
2021-04-02 10:15:48 -07:00
Jeff Epler
3451c25a75
Merge pull request #4530 from jepler/mimxrt1011-pwmio
mimxrt1011: pwmio: Enable basic PWMOut functionality
2021-04-02 09:29:41 -05:00
Jeff Epler
ecf38fdfd4
Merge pull request #4538 from hathach/fix-midi-buffer-issue
update tinyusb to fix midi buffer overflow issue
2021-04-02 09:05:58 -05:00
Neradoc
12b0ee0a3e add alias boards and bus_device to the support matrix
add list with manual brand names for aliases
the new info in the support_matrix is used in build_board_info.py
2021-04-02 13:36:06 +02:00
hathach
7c3975ecf2 update tinyusb to fix midi buffer overflow issue 2021-04-02 17:57:56 +07:00
Dan Halbert
da16e4dce1
Merge pull request #4534 from UnexpectedCircuitPython/main
Changed some pins for TinyS2
2021-04-01 21:05:46 -04:00
Dan Halbert
5b7f90bc3d
Merge pull request #4535 from tannewt/packetbuffer_fixup
Two small PacketBuffer fixes
2021-04-01 20:08:10 -04:00
Scott Shawcroft
58835e5a5b
Two small PacketBuffer fixes
1. Allow for ctrl-c during a write.
2. Handle disconnects when acting as a client.
2021-04-01 14:16:35 -07:00
Seon Rozenblum
a9b4e04643 Changed some pins for TinyS2 2021-04-02 08:08:02 +11:00
3f3cb79b7d Add pinmux info for 1021 and 1062 family MCUs 2021-04-01 15:59:57 -05:00
89fc0298ce mimxrt1011: pwmout: Add prescaler, fix duty_cycle=65535 2021-04-01 13:04:06 -05:00
Scott Shawcroft
0135c5cc79
Merge pull request #4526 from t-ikegami/wio_pin_assign_fix
Fix SD_DET pin assignment of seeduino_wio_terminal.
2021-04-01 10:39:20 -07:00
Scott Shawcroft
5425242195
Merge pull request #4527 from t-ikegami/Terminal_add_esc_seqs
Add two escape sequences to terminalio.Termial
2021-04-01 10:38:51 -07:00
Scott Shawcroft
49b878d8f5
Merge pull request #4529 from dhalbert/6.2.x-rearrange-ci-task
clone repo before installing deps
2021-04-01 10:30:57 -07:00
Scott Shawcroft
4909160135
Merge pull request #4523 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-04-01 10:30:27 -07:00
489163b74e mimxrt1011: pwmio: Enable basic PWMOut functionality
After this change, the following program works for me on the MIMXRT1010-EVK:
```python
import pwmio
import board

p = pwmio.PWMOut(board.D13, frequency=1_000_000, variable_frequency=True)
p.duty_cycle = 32868

while True:
    pass
```

Querying and varying the duty_cycle and frequency work as well.

The lowest frequency obtainable is about 2kHz; there is an additional
divider which would allow lower PWM frequencies (I think 1kHz is important
for servos?)

Something odd happens with very low duty cycles, such as
```python
>>> p.frequency = 2000
>>> p.duty_cycle = 2
```
instead of a symmetrical waveform, it's asymmetrical.  With `duty_cycle=4`,
the effect disappears.  The reason for this is probably hidden in the
datasheet, but could affect servos or other things that count pulse
widths.
2021-04-01 10:06:59 -05:00
microDev
1ae6f362e1 clone repo before installing deps
closes #4524
2021-04-01 10:53:06 -04:00
Hosted Weblate
57011c8611 Merge remote-tracking branch 'origin/main' into main 2021-04-01 16:50:34 +02:00
Jonny Bergdahl
41eb9cb255
Translated using Weblate (Swedish)
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-04-01 16:50:34 +02:00
Wellington Terumi Uemura
fbc1b467aa
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-04-01 16:50:33 +02:00
Hugo Dahl
6b22e8fbc0
Translated using Weblate (French)
Currently translated at 100.0% (969 of 969 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-04-01 16:50:33 +02:00
Dan Halbert
7ad6058837
Merge pull request #4528 from adafruit/re-arrange-ci-task
Re-Arrange CI Task
2021-04-01 10:50:26 -04:00
microDev
77889fe70c
clone repo before installing deps
closes #4524
2021-04-01 18:00:56 +05:30
Tsutomu IKEGAMI
171820e53f Fix format 2021-04-01 20:45:15 +09:00
Tsutomu IKEGAMI
5f77d07760 Fix format 2021-04-01 20:26:10 +09:00
Tsutomu IKEGAMI
3c4d763fef Fix format. 2021-04-01 18:04:33 +09:00
Tsutomu IKEGAMI
7810cb275c Add two escape sequences to terminalio.Termial:
- ESC[yy;xxH : move cursor to (xx, yy)
- ESC[2J     : clear screen
2021-04-01 17:33:57 +09:00
Tsutomu IKEGAMI
be50732515 Fix SD_DET pin assignment of seeduino_wio_terminal. 2021-04-01 17:09:56 +09:00
Hosted Weblate
f4bf8e468d
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-04-01 03:24:29 +02:00
Dan Halbert
d0ba75e6dc
Merge pull request #4522 from tannewt/ble_fixup
Fix central pairing and crash on clear
2021-03-31 21:24:19 -04:00
Scott Shawcroft
0752bbd5fd
Fix central pairing and crash on clear
The list_clear would crash if we tried to clear a NULL list. (It
can happen if we haven't tried to discover any services.)
2021-03-31 16:04:04 -07:00
Dan Halbert
3e8e683a73
Merge pull request #4521 from dhalbert/add-en_GB
add en_GB translation to builds
2021-03-31 16:06:43 -04:00
Dan Halbert
0e915dc3fb
Merge pull request #4518 from jepler/fix-bogus-assertion
mimxrt10xx: Fix bogus assertion.
2021-03-31 15:53:42 -04:00
Dan Halbert
c41639f30a add en_GB translation to builds 2021-03-31 15:09:55 -04:00
Scott Shawcroft
5d8bdd20b4
Merge pull request #4517 from dhalbert/no-remote-wakeup
Turn off remote wakeup in USB configuration descriptor
2021-03-31 08:55:50 -07:00
Scott Shawcroft
0582d639c1
Merge pull request #4519 from jepler/rasberrypi-minconfig
raspberypi: Allow mpconfigboard to override additional items
2021-03-31 08:48:41 -07:00
cce8b2be07 raspberypi: Allow mpconfigboard to override additional items
This allows more options to be overridden to 0 in an mpconfigboard.mk.

Improved:
 * FRAMEBUFFERIO, FULL_BUILD, BITOPS, PWMIO, RGBMATRIX, OTARYIO, PULSEIO, WATCHDOG

Still problematic (pull requests welcome):
 * RP2PIO & NEOPIXEL_WRITE, possibly only if a status neopixel is defined
 * BITBANGIO, possibly only if BUSIO is enabled
 * RTC

Incidentally, with RP2PIO & NEOPIXEL_WRITE, BITBANGIO, and RTC re-enabled I get
```
323956 bytes used, 720524 bytes free in flash firmware space out of 1044480 bytes (1020.0kB).
12072 bytes used, 250072 bytes free in ram for stack and heap out of 262144 bytes (256.0kB).
```

Closes #4515
2021-03-31 09:40:48 -05:00
cb29ad0846 mimxrt10xx: Fix bogus assertion.
.. as noted by @d-c-d
2021-03-31 09:21:08 -05:00
Dan Halbert
c9f2591d7c Turn off remote wakeup in USB configuration descriptor 2021-03-31 10:12:16 -04:00
Scott Shawcroft
7471e978bb
Merge pull request #4509 from lesamouraipourpre/time-error-param
Add a missing parameter to an error message (Fixes #4505)
2021-03-30 10:55:08 -07:00
Scott Shawcroft
ea7ca8ae96
Merge pull request #4513 from jepler/mimxrt10xx-uart-fault
mimxrt1011: UART: Add additional error checking
2021-03-30 10:54:05 -07:00
71eee45a37 mimxrt1011: UART: Add additional error checking
.. and make the 'invalid pin' messages standard.

Closes #4502
2021-03-30 10:17:48 -05:00
Jeff Epler
2453d70e4c
Merge pull request #4511 from jepler/refine-bug-template
Remove sentence about a link that fixes a problem
2021-03-30 08:30:11 -05:00
1bb5bed80f Remove sentence about a link that fixes a problem
Multiple times it has occurred that people left this line in a PR by mistake.  it makes it look like they failed to include some useful information, but really is just a misunderstanding.  Delete the text to reduce the chance of misunderstanding.
2021-03-29 21:31:00 -05:00
Jeff Epler
38382bfd12
Merge pull request #4507 from Neradoc/fix-alias-boards-modules
fix list of modules for alias boards
2021-03-29 17:42:34 -05:00
Scott Shawcroft
580456719c
Merge pull request #4508 from dhalbert/rp2040-calc-sda-hold-time
Calculate RP2040 SDA hold time
2021-03-29 15:09:30 -07:00
James Carr
65759622ea Add a missing parameter to an error message (Fixes #4505) 2021-03-29 23:03:14 +01:00
Dan Halbert
840373f5c2
Merge pull request #4495 from tyomitch/patch-1
[ure] to save space, disable debug dumps by default
2021-03-29 16:08:56 -04:00
Dan Halbert
b274a0497b
Merge pull request #4501 from jepler/rgbmatrix-memoryview
RGBMatrix: fix memoryview(matrix)
2021-03-29 16:07:22 -04:00
Dan Halbert
8e0834d74c Calculate RP2040 SDA hold time 2021-03-29 14:40:13 -04:00
Neradoc
38072a139e no default value for support_matrix[board_id]
will raise an error during build if things as not as expected
as suggested by @jepler
2021-03-29 19:03:35 +02:00
Jeff Epler
f73625877d
Merge pull request #4490 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-29 08:02:17 -05:00
Neradoc
f143e5d049 fix list of modules for alias boards 2021-03-29 12:25:25 +02:00
hexthat
dfac6d9f62
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-03-29 10:26:59 +02:00
Lucian Copeland
00178ca5e0 Sleep API changes, redundancy fix 2021-03-27 14:14:57 -04:00
Hosted Weblate
277b0d1f0d Merge remote-tracking branch 'origin/main' into main 2021-03-27 18:49:41 +01:00
Jeff Epler
010232574e
Merge pull request #4468 from jepler/metro-m7-dup-pins
remove duplicate RX/TX pin lines
2021-03-27 12:49:33 -05:00
Jeff Epler
b04f9130c7 RGBMatrix: fix memoryview(matrix)
Typical test:
```python
import displayio
import rgbmatrix
import board
displayio.release_displays()
matrix = rgbmatrix.RGBMatrix(
    width=128, bit_depth=4,
    rgb_pins=[board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5],
    addr_pins=[board.GP6, board.GP7, board.GP8, board.GP9],
    clock_pin=board.GP10, latch_pin=board.GP11, output_enable_pin=board.GP12)
mem = memoryview(matrix)
mem[0] = 65535 #  OK
mem[0] = 65536 #  errors (out of range)
```
2021-03-27 12:04:27 -05:00
Hosted Weblate
bca327ec9a Merge remote-tracking branch 'origin/main' into main 2021-03-27 04:00:16 +01:00
Dan Halbert
a13da2ad57
Merge pull request #4486 from kmatch98/displayio_area_expand
`displayio` and `vectorio`: move to displayio_area_union and away from _expand
2021-03-26 23:00:05 -04:00
Hosted Weblate
0280064640 Merge remote-tracking branch 'origin/main' into main 2021-03-27 01:21:57 +01:00
Limor "Ladyada" Fried
9ac8ea587a
Merge pull request #4499 from dhalbert/rp2040-lengthen-sda-tx-hold-time
Length RP2040 I2C SDA hold time
2021-03-26 20:21:52 -04:00
Hosted Weblate
9f1b68578b Merge remote-tracking branch 'origin/main' into main 2021-03-27 00:34:55 +01:00
Limor "Ladyada" Fried
f8cd7d777f
Merge pull request #4497 from jepler/spi-enhancements
Spi enhancements
2021-03-26 19:34:50 -04:00
Dan Halbert
03340a3fcd Incorporate https://github.com/adafruit/pico-sdk/pull/2 2021-03-26 18:55:45 -04:00
583fc76cf5 run uncrustify 2021-03-26 15:38:20 -05:00
Artyom Skrobov
8056af8648 [synthio] add a simple MidiTrack implementation 2021-03-26 16:38:10 -04:00
Hosted Weblate
0501c8d79f Merge remote-tracking branch 'origin/main' into main 2021-03-26 20:58:39 +01:00
Jeff Epler
999f713423
Merge pull request #4487 from jepler/fix-spi-gaps
Fix spi gaps
2021-03-26 14:58:32 -05:00
Jeff Epler
172715194f adafruit_bus_device: SPIDevice: Fix so it works with bitbangio.SPI
.. by calling methods, same as we did for I2C
2021-03-26 14:51:53 -05:00
Artyom Skrobov
d7dc3801ab [ure] to save space, disable debug dumps by default
Has to stay enabled in unix port for the sake of tests/extmod/ure_debug.py
2021-03-26 13:24:20 -04:00
Jeff Epler
a70b679ed5 bitbangio.SPI.read: Support write_value, fix some other nits 2021-03-26 12:24:09 -05:00
Artyom Skrobov
b40d072648 [stm] implementation of audiopwmio
Based on nrf PWMAudioOut by @jepler and stm PulseOut by @hierophect

Tested on a Meowbit
2021-03-26 13:18:01 -04:00
Jeff Epler
2bc61b4580 Parenthesize double-division for clarity 2021-03-26 11:01:22 -05:00
Jeff Epler
231cb1ffd9 mimxrt10xx: Use the proper "betweenTransferDelay" (et al) values
Set the betweenTransferDelay to the SCK low-time, to avoid long pauses
between bytes (transfers) while preventing the last SCK cycle in a byte
from being a runt pulse.

Compared to an earlier revision of this change, which just set the delays
all to zero, this doesn't break using an AirLift, which was sensitive
to the runt pulses (the simple loopback-wire test didn't detect the problem)
2021-03-26 10:54:13 -05:00
Jeff Epler
1d48054aea mimxrt10xx: Factor out "transfer_common"
.. and set the "MasterPcsContinuous" flag, which removes some of the
gap between bytes of a single SPI transaction
2021-03-26 10:04:35 -05:00
Jeff Epler
ffb70a8737 Freeze ESP32SPI into mimxrt1011_evk
.. so that it is more conveniently like the metro m7 for my testing
2021-03-26 10:01:53 -05:00
Jeff Epler
9e110f120a mimxrt10xx: busio: cap SPI baudrate at 30MHz per datasheet 2021-03-26 10:01:53 -05:00
Hosted Weblate
8b448eb491 Merge remote-tracking branch 'origin/main' into main 2021-03-26 02:01:09 +01:00
Dan Halbert
155b61f027
Merge pull request #4378 from Gadgetoid/patch-remove-rp2040-i2c-bitbang
RP2040: Remove short-write bitbang from I2C
2021-03-25 21:01:02 -04:00
Gareth Coleman
abdc6d59ec
Translated using Weblate (English (United Kingdom))
Currently translated at 99.5% (966 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/en_GB/
2021-03-26 00:30:08 +01:00
gamblor21
0b212e2243 Add non M4 audiomixer support 2021-03-25 17:30:40 -05:00
Scott Shawcroft
5810461adf
Merge pull request #4481 from tannewt/external_devices
Switch devices.h to nvm.toml data
2021-03-25 15:28:01 -07:00
Scott Shawcroft
01c153cd7e
Fix devices include by splitting type from defines 2021-03-25 11:37:08 -07:00
Scott Shawcroft
da4dceea15
Fix 16MB Winbond names 2021-03-25 11:37:08 -07:00
Scott Shawcroft
0105b30a07
Merge pull request #4484 from kmatch98/vector_fix
Corrects vectorio.Rectangle size dimensions
2021-03-25 10:56:47 -07:00
Scott Shawcroft
aec0ef3cbf
Switch devices.h to nvm.toml data 2021-03-25 09:57:18 -07:00
Kevin Matocha
56362a9806 remove duplicated code, replace with displayio_area_canon 2021-03-25 11:31:07 -05:00
Kevin Matocha
9485805b6a move to displayio_area_union and away from _expand 2021-03-25 11:21:39 -05:00
Scott Shawcroft
e9ceb9263e
Merge pull request #4474 from jepler/fix-spi-frequency
mimxrt: SPI: Set the TCR value returned by MasterBaudSetRate
2021-03-25 08:59:21 -07:00
Limor "Ladyada" Fried
7831be5a55
Merge pull request #4480 from tannewt/raspberrypi_link_line_length
Use GCC @file to shorten linker command length
2021-03-25 11:53:32 -04:00
Kevin Matocha
3785eb7779 correct rectangle size dimensions 2021-03-25 09:36:40 -05:00
Jeff Epler
47801bb73c
Merge pull request #4483 from Neradoc/implement-issue-4470
Implement issue #4470
2021-03-25 08:57:10 -05:00
Neradoc
6b89883797 sort languages in a way that is not case sensitive 2021-03-25 02:57:04 +01:00
Neradoc
36f91fe022 implement issue #4470
move the language allow list to generate_download_info() and use it there too
2021-03-24 23:39:47 +01:00
Scott Shawcroft
f79d60b205
Use GCC @file to shorten linker command length
This hopefully fixes linking on Windows with cmd.exe
2021-03-24 15:03:33 -07:00
Jeff Epler
b440883fe5 mimxrt: SPI: Set the TCR value returned by MasterBaudSetRate
without this, the baud rate could be wrong; in my testing, it was
low by a factor of 2 when requesating baudrate=1_000_000 (1MHz).

When passing the baudrate in to LPSPI_MasterInit, the setting is made
automatically, but LPSPI_MAster_SetBaudRate just returns it via the
out-parameter tcrPrescaleValue.
2021-03-24 13:33:21 -05:00
Jeff Epler
5314fddca0 remove duplicate RX/TX pin lines 2021-03-23 16:04:23 -05:00
Dan Halbert
c81007afb0
Merge pull request #4446 from tannewt/rp2040_flash
Switch RP2040 flash settings to nvm.toml
2021-03-23 15:18:29 -04:00
Jeff Epler
f8cea3ba3b
Merge pull request #4397 from tyomitch/patch-1
[spi_flash] handle reentrance gracefully
2021-03-23 14:12:24 -05:00
felixerdy
cde659651b add brown out detect level 2021-03-23 19:17:45 +01:00
Lucian Copeland
278d53c512
Merge pull request #4465 from anecdata/udp_server
swap recvfrom_into() port byte-order
2021-03-23 13:48:39 -04:00
Scott Shawcroft
36edc4bb89
Improve Winbond naming and correct board settings 2021-03-23 09:06:48 -07:00
Artyom Skrobov
3b613ff97c [spi_flash] handle reentrance gracefully
Report failure instead of deadlocking the device
2021-03-23 02:11:54 -04:00
anecdata
c106b432c5 swap recvfrom_into() port byte-order 2021-03-22 20:03:26 -05:00
Scott Shawcroft
67c039db43
Checkout before installing deps 2021-03-22 16:15:55 -07:00
Scott Shawcroft
98425c9a9d
Merge pull request #4464 from kmatch98/transform_fix
update logic for displayio.TileGrid's transform_xy
2021-03-22 15:52:23 -07:00
Scott Shawcroft
d52662856b
Merge pull request #4462 from jepler/disable-usb-cdc
storage: Correct when we check for USB mounts
2021-03-22 15:52:10 -07:00
Scott Shawcroft
7867632a81
Merge remote-tracking branch 'adafruit/main' into rp2040_flash 2021-03-22 15:29:43 -07:00
Scott Shawcroft
f200e6a21e
Fix doc build and address feedback 2021-03-22 15:24:27 -07:00
Kevin Matocha
24831a79d3 update logic for transform_xy 2021-03-22 16:38:56 -05:00
Jeff Epler
904e94abeb make declatations of usb_msc_ routines conditional
.. as suggested by @dhalbert
2021-03-22 15:04:57 -05:00
DavePutz
03d3e1f6e8
Merge pull request #45 from adafruit/main
update from adafruit main
2021-03-22 14:03:06 -05:00
5a0e9945e6 storage: Correct when we check for USB mounts
Closes #4417
2021-03-22 11:45:54 -05:00
Jeff Epler
2373e64780
Merge pull request #4460 from lyusupov/MX25R1635F_QSPI_FIX
fix for MX25R1635F QSPI mode of operation
2021-03-22 09:01:04 -05:00
Linar Yusupov
76c1ae7194 fix for MX25R1635F QSPI mode of operation 2021-03-22 09:12:26 +03:00
Linar Yusupov
b56c16c684
Merge pull request #1 from adafruit/main
update to most recent master
2021-03-22 08:52:47 +03:00
Jeff Epler
a05aab8304
Merge pull request #4454 from jepler/bitmaptools-readinto-4bit
Fix reading 4-bit data
2021-03-21 19:56:23 -05:00
Jeff Epler
d8af26b729
Merge pull request #4459 from ladyada/main
add itsybitsy rp2040
2021-03-21 19:55:23 -05:00
Jeff Epler
e4572ebdc2
Merge pull request #4458 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-21 19:54:37 -05:00
lady ada
10c9f61352 fix sort 2021-03-21 19:11:15 -04:00
lady ada
36ae69ab6f qtpy is more of a button than a switch! add itsybitsy rev C files 2021-03-21 18:44:32 -04:00
Wellington Terumi Uemura
ea23a74d2f
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-03-21 22:29:53 +01:00
Hugo Dahl
488e20dc43
Translated using Weblate (French)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-03-21 22:29:49 +01:00
Jose David M
c63093c130
Translated using Weblate (Spanish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-03-21 22:29:48 +01:00
Limor "Ladyada" Fried
56160f8c1a
Merge pull request #4456 from ladyada/main
QTPY RP2040 - add USBBOOT switch, move RX pin, re-enable UART (tested)
2021-03-21 17:24:15 -04:00
lady ada
ebd6011633 add USBBOOT switch, move RX pin, re-enable UART (tested) 2021-03-21 14:58:18 -04:00
c64fccbeee hex may be more obvious 2021-03-21 13:48:08 -05:00
7229fe631d Fix reading 4-bit data 2021-03-21 13:37:38 -05:00
Jeff Epler
e084a92671
Merge pull request #4432 from jepler/bitmap-dirty-improvements
Bitmap dirty improvements
2021-03-20 13:09:59 -05:00
Limor "Ladyada" Fried
4b42932188
Merge pull request #4449 from ladyada/main
adventure together with rotary trinkey
2021-03-20 13:37:31 -04:00
lady ada
8884682cac adventure together with rotary trinkey 2021-03-20 12:03:51 -04:00
Limor "Ladyada" Fried
7970a2fee1
Merge pull request #4436 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-19 22:54:31 -04:00
Kevin Matocha
9b188934d1 off by one error in rotozoom dirty_area 2021-03-19 21:23:55 -05:00
39500cdeab Merge commit '40829d4cc85394513ca631cff23254344e29786c' of https://github.com/kmatch98/circuitpython into bitmap-dirty-improvements 2021-03-19 20:40:30 -05:00
95ac6c716b rotozoom: switch to using set_dirty_area + write_pixel 2021-03-19 20:40:23 -05:00
Kevin Matocha
40829d4cc8 switch to > in displayio_area_canon 2021-03-19 20:30:37 -05:00
Scott Shawcroft
4aea7f8f52
Add requirements-dev.txt for python deps 2021-03-19 15:22:23 -07:00
Hosted Weblate
0d8b2723c0 Merge remote-tracking branch 'origin/main' into main 2021-03-19 21:37:09 +01:00
Jeff Epler
22906ac95e
Merge pull request #4442 from jepler/m7-reboot-bootloader
mimxrt1011: Fix reset-to-bootloader
2021-03-19 15:37:06 -05:00
Hosted Weblate
90724dca43 Merge remote-tracking branch 'origin/main' into main 2021-03-19 21:36:46 +01:00
Jonny Bergdahl
4e7ad1e59c
Translated using Weblate (Swedish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-19 21:36:45 +01:00
Jeff Epler
3fcb6b278f
Merge pull request #4443 from jepler/evk-pins-dnp
imxrt1010_evk: Delete pins that are not connected
2021-03-19 15:36:36 -05:00
Hosted Weblate
9d38e1a16d Merge remote-tracking branch 'origin/main' into main 2021-03-19 17:42:40 +01:00
Limor "Ladyada" Fried
c0ec904c7a
Merge pull request #4441 from jepler/metro_m7_4mb
metro m7: another place to fix flash capacity
2021-03-19 12:42:35 -04:00
Hosted Weblate
7ae7bf68c0
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-19 17:35:06 +01:00
Hosted Weblate
caafae3b3d Merge remote-tracking branch 'origin/main' into main 2021-03-19 17:35:04 +01:00
Jose David M
38e791381e
Translated using Weblate (Spanish)
Currently translated at 100.0% (977 of 977 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-03-19 17:35:04 +01:00
Dan Halbert
0615876d9f
Merge pull request #4439 from dhalbert/adafruit_funhouse
Adafruit funhouse
2021-03-19 12:34:56 -04:00
ee59c75f62 imxrt1010_evk: Delete pins that are not connected
There are DNP resistors on the MIMXRT1010-EVK board (see SCH-45852)
that lead to these pins on the arduino-style header not being connected
through. In theory someone could populate them, but as it the presence
of these names in the pins module caused problems when they didn't work
as expected.

Closes #3012
2021-03-19 11:29:32 -05:00
06743d91ed mimxrt1011: Fix reset-to-bootloader
The definition of DBL_TAP_REG must match tinyuf2
2021-03-19 10:11:45 -05:00
Dan Halbert
d7a2ae9df7 fix stm compiler error 2021-03-19 11:04:46 -04:00
01a1cdf13a update flash chip comment 2021-03-19 09:50:26 -05:00
Dan Halbert
1512ca520b Fix PWMOut non-error handling and never reset 2021-03-19 09:57:21 -04:00
6abea8a4aa another place to fix flash capacity 2021-03-19 08:41:28 -05:00
Dan Halbert
8293e1eedc fix display rotation and position 2021-03-19 00:09:48 -04:00
Dan Halbert
47437cb415 make translate; fix display pins 2021-03-18 23:42:24 -04:00
Dan Halbert
ea82ca1d02 correct PID 2021-03-18 23:24:20 -04:00
Dan Halbert
21c55f8e75 update funhouse pins for latest rev b 2021-03-18 23:14:59 -04:00
Dan Halbert
b2d913412f merge from upstream 2021-03-18 23:14:43 -04:00
jposada202020
ac232f297f
Merge pull request #1 from adafruit/main
update
2021-03-18 21:35:53 -04:00
Scott Shawcroft
5d2b60cbf6
Redo RP2040 flash settings
This switches stage2 to C and uses Jinja to change the C code based
on flash settings from https://github.com/adafruit/nvm.toml. It
produces the fastest settings for the given set of external flashes.
Flash size is no longer hard coded so switching flashes with similar
capabilities but different sizes should *just work*.

This PR also places "ITCM" code in RAM to save the XIP cache for
code execution. Further optimization is possible. A blink code.py
still requires a number of flash fetches every blink.

Fixes #4041
2021-03-18 16:55:42 -07:00
Hosted Weblate
0d52725b36
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-19 00:41:42 +01:00
Hosted Weblate
c54468a45b Merge remote-tracking branch 'origin/main' into main 2021-03-19 00:41:40 +01:00
Jose David M
768c9db058
Translated using Weblate (Spanish)
Currently translated at 99.7% (975 of 977 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-03-19 00:41:40 +01:00
Jeff Epler
d0125617fd
Merge pull request #4428 from kmatch98/bitmap-read-2
Add `reverse_rows` to speedy bitmaptools.readinto function
2021-03-18 18:41:35 -05:00
Jeff Epler
623ece2c73
Merge pull request #4429 from jepler/displayio-bitmap-memoryview
displayio.Bitmap: Make memoryview()able
2021-03-18 18:38:25 -05:00
Jeff Epler
2589515342
Merge pull request #4435 from jepler/metro-m7
Fixes for Metro M7
2021-03-18 17:56:12 -05:00
0b22a9397a mimxrt: Quiet some warnings down in the sdk
Closes #2487
2021-03-18 16:54:11 -05:00
0ba0fae495 mimxrt: Enable USB Midi
Closes #2473
2021-03-18 16:54:11 -05:00
74243fd71a metro_m7: Update board name, flash chip size 2021-03-18 16:54:11 -05:00
Scott Shawcroft
e3c54b0660
Merge pull request #3513 from microDev1/checkUSB
Implement function to check usb connection
2021-03-18 10:43:30 -07:00
Scott Shawcroft
c480047880
Merge pull request #4430 from jepler/bitmap-arrayblit-dirty
arrayblit: mark bitmap area as dirty
2021-03-18 10:39:30 -07:00
f5fd42c393 displayio: Move bitmap read-only checking to displayio_bitmap_set_dirty_area
This is a modest code savings, but more importantly it reduces
boilerplate in bitmap-modifying routines.

Callers need only ensure they call displayio_bitmap_set_dirty_area in
advance of the bitmap modifications they perform.

(note that this assumes that no bitmap operation can enter background
tasks. If an operation COULD enter background tasks, it MUST re-dirty
the area it touches when it exits, simply by a fresh call to
set_dirty_area with the same area as before)
2021-03-18 09:20:56 -05:00
36d608aa67 displayio_bitmap_set_dirty_area: rewrite in terms of displayio_area
.. simplifying code in the process.  For instance, now fill_region
uses area routines to order and constrain its coordinates.

Happily, this change also frees a modest amount of code space.
2021-03-18 09:20:56 -05:00
3b506f0fa5 displayio: area: add displayio_area_canon
This routine will be used to simplify code that deals with ranges
of bitmap coordinates.
2021-03-18 09:06:00 -05:00
f40c0c13ad displayio: area: add displayo_area_copy_coords, displayio_area_empty
.. and simplify the implmentation of displayio_area_union

This _slightly_ changes the behavior of displayio_area_union:

Formerly, if one of the areas was empty, its coordinates were still
used in the min/max calculations.

Now, if one of the areas is empty, the result gets the other area's coords

In particular, taking the union of the empty area with coords (0,0,0,0)
with the non-empty area (x1,y1,x2,y2) would give the area (0,0,x2,y2)
before, and (x1,y1,x2,y2) after the change.
2021-03-18 09:05:07 -05:00
microDev
bd95914e88
implement function to check usb connection 2021-03-18 10:00:01 +05:30
47ca792765 arrayblit: mark bitmap area as dirty 2021-03-17 20:25:22 -05:00
Scott Shawcroft
11e510a06a
Merge pull request #4419 from spe2/main
Add board definition for Sparkfun Pro Micro RP2040
2021-03-17 18:17:24 -07:00
Scott Shawcroft
670375dc0d
Merge pull request #4426 from kmatch98/main
Add getter for displayio.Palette item transparency/opacity.
2021-03-17 18:13:39 -07:00
Scott Shawcroft
588e4b8421
Merge pull request #4427 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-17 18:12:41 -07:00
720d242b4f doc fix 2021-03-17 16:38:10 -05:00
c157ada90c displayio.Bitmap: Make memoryview()able 2021-03-17 16:26:45 -05:00
Hosted Weblate
d27055aa4a Merge remote-tracking branch 'origin/main' into main 2021-03-17 22:24:04 +01:00
Jonny Bergdahl
36aa861458
Translated using Weblate (Swedish)
Currently translated at 100.0% (977 of 977 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-17 22:24:04 +01:00
Wellington Terumi Uemura
4d89893aff
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (977 of 977 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-03-17 22:24:04 +01:00
Jeff Epler
719e8710f2
Merge pull request #4411 from mintakka/thingplus-rp2040
added board configuration for Sparkfun ThingPlus RP2040
2021-03-17 16:23:55 -05:00
Phil Howard
b8d4f9655f RP2040: Only bitbang 0-byte writes
The I2C.c for RP2040 included a special case for writes <=2 bytes to match the MicroPython implementation,
however RP2040 does support 1 and 2 byte reads, with only 0 bytes being the exception.

Signed-off-by: Philip Howard <phil@pimoroni.com>
2021-03-17 16:25:54 +00:00
Kevin Matocha
c37a1f45f3 ran pre-commit for formatting fixes 2021-03-17 11:00:32 -05:00
Kevin Matocha
580121d46e minor formatting 2021-03-17 09:38:53 -05:00
Kevin Matocha
ef91e1752c merge upstream/main 2021-03-17 09:30:51 -05:00
Hosted Weblate
f6cabccd9e
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-17 13:57:41 +01:00
Jeff Epler
bfc8c89536
Merge pull request #4403 from jepler/bitmap-read-2
bitmaptools: Add readinto, arrayblit
2021-03-17 07:57:31 -05:00
Kevin Matocha
592f89f6ae add back peculiar r to docstring 2021-03-16 20:45:55 -05:00
Kevin Matocha
5c3cce6f5d add is_transparent getter to displayio.Palette 2021-03-16 20:43:23 -05:00
mintakka
337727ba0c renamed board folder to match board name in boards.yml 2021-03-16 21:10:10 -04:00
074ba1daff more doc fixes 2021-03-16 19:05:06 -05:00
94fa8e8a60 disable bitmaptools on small board 2021-03-16 19:04:21 -05:00
5810004bc9 fix doc error 2021-03-16 19:01:38 -05:00
Jeff Epler
75ba26ee7c
Merge pull request #4421 from kattni/led-pin
Adding LED for D13/L pin name.
2021-03-16 18:58:14 -05:00
Mark
1be5ca7881
Merge pull request #4130 from gamblor21/rp_dp_parallel
Add RP2040 displayio.ParallelBus Support
2021-03-16 13:49:55 -05:00
Scott Shawcroft
856bf302b4
Merge pull request #4418 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-16 11:48:51 -07:00
df2d08366a make translate 2021-03-16 13:37:19 -05:00
e1dd396de7 fix stub docs 2021-03-16 13:37:04 -05:00
spe2
dcd9a8ab91
Update ports/raspberrypi/boards/sparkfun_pro_micro_rp2040/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 10:54:20 -07:00
spe2
5bc132a209
Update ports/raspberrypi/boards/sparkfun_pro_micro_rp2040/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 10:54:15 -07:00
mintakka
b5333f2bdf
Update ports/raspberrypi/boards/sparkfun_thingplus_rp2040/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 13:47:33 -04:00
mintakka
3d15877639
Update ports/raspberrypi/boards/sparkfun_thingplus_rp2040/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 13:47:21 -04:00
mintakka
cae3397ea0
Update .github/workflows/build.yml
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 13:47:10 -04:00
Hosted Weblate
f13bee0471 Merge remote-tracking branch 'origin/main' into main 2021-03-16 18:25:14 +01:00
Scott Shawcroft
9e0cfcff96
Merge pull request #4416 from adafruit/tannewt-patch-1
Add Sourcegraph link and raspberrypi port
2021-03-16 10:25:09 -07:00
58679dc038 Merge remote-tracking branch 'origin/main' into bitmap-read-2 2021-03-16 12:21:50 -05:00
97b6664201 re-format with uncrustify 2021-03-16 12:20:09 -05:00
Kattni Rembor
2b910b7292 Adding LED for D13/L pin name. 2021-03-16 12:14:40 -04:00
Kevin Matocha
870dadc85a update more docstrings 2021-03-16 10:42:46 -05:00
امير محمد العمري
e16c0f38e8
Translated using Weblate (Swedish)
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-16 16:42:27 +01:00
Kevin Matocha
a367e84cea update docstrings 2021-03-16 10:35:40 -05:00
Kevin Matocha
227ac67463 Add reverse_rows option to bitmaptools.readinto 2021-03-16 10:01:12 -05:00
Hosted Weblate
5167e9cbac Merge remote-tracking branch 'origin/main' into main 2021-03-16 15:54:21 +01:00
Jonny Bergdahl
4a5df5ab9b
Translated using Weblate (Swedish)
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-16 15:54:21 +01:00
Wellington Terumi Uemura
cd108e50ba
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-03-16 15:54:21 +01:00
Alessandro Mandelli
9d523fd6da
Translated using Weblate (Italian)
Currently translated at 44.4% (433 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/it/
2021-03-16 15:54:21 +01:00
Hugo Dahl
c6e696ae11
Translated using Weblate (French)
Currently translated at 99.4% (969 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-03-16 15:54:19 +01:00
Jeff Epler
bc690d4070
Merge pull request #4415 from jepler/pre-commit-no-run-if-empty
pre-commit: code formatter fixes
2021-03-16 09:54:12 -05:00
gamblor21
bdc368895f Formatting 2021-03-16 08:39:44 -05:00
gamblor21
0890b54cd9 More formatting 2021-03-16 08:29:04 -05:00
gamblor21
fb437d8280 Formatting fixes 2021-03-16 08:22:02 -05:00
gamblor21
3b01a65743 Fixed formatting 2021-03-16 08:14:49 -05:00
ZodiusInfuser
361cb1ca11
Merge pull request #1 from adafruit/main
Merge from original repo
2021-03-16 11:09:06 +00:00
spe2
9de40f56f3
Add board config files 2021-03-15 22:08:19 -06:00
spe2
c9427780b3
Create pins.c 2021-03-15 22:07:24 -06:00
spe2
ea578a10a6
Update build.yml
Add Pro Micro RP2040 to build.yml.
2021-03-15 21:19:51 -06:00
mintakka
49baa94446 added sparkfun_thingplus_rp2040 to .github/workflows/boards.yml and renamed board folder to include chip 2021-03-15 23:00:24 -04:00
542fb58673 add arrayblit 2021-03-15 20:36:44 -05:00
mintakka
288415f867
Update ports/raspberrypi/boards/sparkfun_thingplus/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-15 21:07:31 -04:00
mintakka
30a74b3d92
Update ports/raspberrypi/boards/sparkfun_thingplus/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-15 21:07:24 -04:00
Mark
e326d7ca80
Merge branch 'main' into rp_dp_parallel 2021-03-15 20:00:13 -05:00
Hosted Weblate
2115a76c2f Merge remote-tracking branch 'origin/main' into main 2021-03-16 01:51:39 +01:00
Scott Shawcroft
f7a988b9b3
Merge pull request #4405 from DavePutz/issue_4237
Issue 4237 - Changed initial setting in program_struct
2021-03-15 17:51:36 -07:00
Hosted Weblate
65cc95da3f
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-16 01:47:06 +01:00
Hosted Weblate
c8b3562de7 Merge remote-tracking branch 'origin/main' into main 2021-03-16 01:47:04 +01:00
hexthat
a5e2b73936
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (975 of 975 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-03-16 01:47:04 +01:00
Noel Gaetan
c560e79a31
Translated using Weblate (French)
Currently translated at 98.8% (964 of 975 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-03-16 01:47:03 +01:00
Daniel Glocker
477a58f8bf
Translated using Weblate (German)
Currently translated at 80.3% (783 of 975 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/de/
2021-03-16 01:47:03 +01:00
Scott Shawcroft
0a39e01237
Merge pull request #4410 from jepler/update-ulab-dot
Update ulab
2021-03-15 17:46:58 -07:00
Scott Shawcroft
9cb8ce67ed
Merge pull request #4412 from kamtom480/spi_and_i2c
spresense: minor changes for i2c, spi and uart
2021-03-15 17:35:06 -07:00
1af6aa25ce ok it would be nice to know how to run it 2021-03-15 19:32:40 -05:00
3963031ef9 cursory documentation of pre-commit 2021-03-15 19:30:53 -05:00
b9a973c8e0 codeformat: Do search&replace without sed 2021-03-15 19:23:16 -05:00
Scott Shawcroft
921bf6de7c
Add back empty line 2021-03-15 16:12:51 -07:00
d3bf1fe15d modifications by pre-commit 2021-03-15 18:11:00 -05:00
253385d9b7 codeformat: use pathlib for correct(-er) processing of * vs ** in globs 2021-03-15 18:10:43 -05:00
0403a2cca5 codeformat: Run sed only on requested files
When running from pre-commit, we believe the different invocations of
sed were racing with each other, sometimes leaving zero-byte files in
the filesystem (ow)
2021-03-15 18:10:43 -05:00
ed61e8955d codeformat: require filenames, filter them by include/exclude lists 2021-03-15 18:10:43 -05:00
d0e3848b24 codeformat: Exclude specified files even from commandline, for pre-commit 2021-03-15 18:10:43 -05:00
cc1dd73e94 pre-commit: Have pre-commit pass the list of files to codeformat.py 2021-03-15 15:32:26 -05:00
Scott Shawcroft
4538d973d2
Add Sourcegraph link and raspberrypi port 2021-03-15 13:23:15 -07:00
c2ed1b0942 pre-commit: only run uncrustify if changed files are detected
This adds the "no-run-if-empty" flag to the xargs invocation.  Otherwise,
if git diff names no files, the command is run once with no agument
specified which leads to running on a default list of files that appears
to include ignored files and files in submodules.

I am uneasy about how this works (it means that `pre-commit run --all`
doesn't actually check all files) but that's a separate issue.
2021-03-15 15:19:23 -05:00
Jeff Epler
05ed179e11
Merge pull request #4362 from microDev1/code-formatting
Add code formatting and translations check
2021-03-15 13:50:49 -05:00
microDev
f9b4189b4c
update line numbering 2021-03-15 23:01:23 +05:30
Kamil Tomaszewski
ed3f636be5 spresense: empty rx uart fifo after initialization 2021-03-15 16:14:16 +01:00
Kamil Tomaszewski
22ed0abf6c spresens: configure pin mode for i2c and spi 2021-03-15 16:14:16 +01:00
mintakka
0567d06936 added board configuration for Sparkfun ThingPlus RP2040 2021-03-15 10:27:21 -04:00
2e2b40be01 Update ulab 2021-03-15 09:10:49 -05:00
microDev
a52eb88031
run code formatting script 2021-03-15 19:27:36 +05:30
microDev
090b6ba42f
update pre-commit
- add formatting check
- add translations check
2021-03-15 19:26:29 +05:30
felixerdy
6c32a1f67f update pins of senseBox MCU 2021-03-15 10:27:50 +01:00
Jeff Epler
3cbff45f9a
Merge pull request #4407 from jposada202020/RTC_doc_corrections
RTC and Touchin docs changes
2021-03-14 20:52:19 -05:00
Jeff Epler
4fdcddaa4d
Merge pull request #4406 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-14 20:50:39 -05:00
b33d77bfe8 disable bitmaptools on over-full board 2021-03-14 20:08:09 -05:00
Hugo Dahl
0eec279371
Translated using Weblate (French)
Currently translated at 98.4% (960 of 975 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-03-15 00:02:55 +01:00
651f54b4cc fix docs 2021-03-14 15:47:15 -05:00
094265cb86 bitmaptools.readinto: Fix diagnostics on atmel-samd builds 2021-03-14 15:36:20 -05:00
jposada202020
1386a8104a RTC and Touchin docs changes 2021-03-14 16:20:40 -04:00
root
9a83501982 Fixed initial settings for program_struct to allow more than 1 program per pio 2021-03-14 15:05:56 -05:00
6e9a44bbfd make translate 2021-03-14 15:03:00 -05:00
Jeff Epler
da030ce7d8
Merge pull request #4402 from jposada202020/analogio_doc_corrections
Change in documentation in Analogio
2021-03-14 15:00:48 -05:00
DavePutz
4b567178f1
Merge pull request #44 from adafruit/main
Update from adafruit main
2021-03-14 14:59:26 -05:00
Jeff Epler
9133b23a37 bitmaptools: Add readinto
When reading uncompressed bitmap data directly, readinto can work
much more quickly than a Python-coded loop.

On a Raspberry Pi Pico, I benchmarked a modified version of
adafruit_bitmap_font's pcf reader which uses readinto instead of
the existing code. My test font was a 72-point file created from Arial.

This decreased the time to load all the ASCII glyphs from 4.9 seconds to
just 0.44 seconds.

While this attempts to support many pixel configurations (1/2/4/8/16/24/32
bpp; swapped words and pixels) only the single combination used by
PCF fonts was tested.
2021-03-14 13:57:46 -05:00
jposada202020
6a56d5dc73 Change in documentation in Analogio 2021-03-14 04:15:35 -04:00
Jeff Epler
d2563c57de
Merge pull request #4395 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-13 13:39:26 -06:00
Hosted Weblate
1fbfd4f5d5 Merge remote-tracking branch 'origin/main' into main 2021-03-13 18:50:34 +01:00
Dan Halbert
8e425a9354
Merge pull request #4393 from tannewt/raise_default_flash_speed
Speed up a bit more
2021-03-13 12:50:29 -05:00
Hosted Weblate
a339e31e4d Merge remote-tracking branch 'origin/main' into main 2021-03-13 01:51:32 +01:00
Scott Shawcroft
550eab2ddd
Merge pull request #4391 from tyomitch/patch-1
[vfs_fat_diskio] pdrv is not a drive number since f5f4cdae89
2021-03-12 16:51:29 -08:00
Hosted Weblate
a8ea24849f
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-13 01:50:44 +01:00
Scott Shawcroft
b413535ee1
Merge pull request #4376 from kmatch98/displayio_bitmap
add fill_region and draw_line to bitmap_tools
2021-03-12 16:50:39 -08:00
Scott Shawcroft
1b106de4e0
Merge pull request #4262 from DavePutz/issue_4111
Issue 4111 - Implement pulseio(pulsein) for RP2040
2021-03-12 16:48:57 -08:00
Scott Shawcroft
45487f14a0
Speed up a bit more 2021-03-12 16:00:16 -08:00
DavePutz
96ce43e6d6
Added the correct files 2021-03-12 16:18:33 -06:00
DavePutz
6628f49852
Use StateMachine.c interrupt setup and simplify SM program 2021-03-12 16:06:57 -06:00
Jeff Epler
a5c6759325
Merge pull request #4392 from tannewt/lower_default_flash_speed
Lower default flash speed.
2021-03-12 13:58:44 -06:00
Scott Shawcroft
aec03a409f
Lower default flash speed.
/ 6 leads to ~40mhz. 2M and 4M have a max 0x03 read speed of 60mhz.
If the divisor is / 4 then the speed is just over 60mhz.

Fixes #4377
2021-03-12 11:06:39 -08:00
felixerdy
2009aecac3 Merge branch 'main' of github.com:felixerdy/circuitpython 2021-03-12 17:59:44 +01:00
felixerdy
de93df6444 add senseBox MCU 2021-03-12 17:57:55 +01:00
Dan Halbert
bbb1a8b7fa
Merge pull request #4387 from dhalbert/esp32s2-i2c-bug
Esp32-S2 I2C fixes
2021-03-12 10:26:56 -05:00
Artyom Skrobov
8265c321f6 [vfs_fat_diskio] pdrv is not a drive number since f5f4cdae89 2021-03-12 10:01:14 -05:00
Jeff Epler
73139102fc
Merge pull request #4389 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-12 08:37:47 -06:00
Dan Halbert
0ce5b2f594 put back pullup setting 2021-03-12 08:20:09 -05:00
Hosted Weblate
054908b912 Merge remote-tracking branch 'origin/main' into main 2021-03-12 04:26:17 +01:00
Dan Halbert
8d3217cbf3
Merge pull request #4390 from dhalbert/board-i2c-clock-stretch
correct clock stretch timeout for board.I2C()
2021-03-11 22:26:09 -05:00
gamblor21
307d2a99fe Fix after rebase 2021-03-11 20:06:50 -06:00
Alvaro Figueroa
06cabd6995
Translated using Weblate (Spanish)
Currently translated at 100.0% (975 of 975 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-03-12 03:03:10 +01:00
Dan Halbert
fa34b8a404 correct clock stretch timeout for board.I2C() 2021-03-11 21:02:07 -05:00
gamblor21
5689307798 Changed frequency to match PIO having 2 instructions 2021-03-11 19:32:44 -06:00
gamblor21
b02b1e9979 Set frequency default 60Mhz 2021-03-11 19:32:44 -06:00
gamblor21
1658fe04f9 Set the statemachine to never reset so REPL works 2021-03-11 19:32:44 -06:00
gamblor21
c384ebe5c0 Updated to initalize pindirs 2021-03-11 19:32:44 -06:00
gamblor21
7321411962 Added frequency to parallel display 2021-03-11 19:32:43 -06:00
gamblor21
56a219911f Add frequency support to parallel bus 2021-03-11 19:32:43 -06:00
gamblor21
b080d6207b Removing debug info and clean up 2021-03-11 19:32:43 -06:00
gamblor21
c6aaab6f64 Initial commit 2021-03-11 19:32:43 -06:00
Dan Halbert
c71b6cb699 move to esp-idf PR merge 2021-03-11 20:05:31 -05:00
Kevin Matocha
a9afa0d9d4 Move input checks to shared-module, update docstrings 2021-03-11 16:18:17 -06:00
Dan Halbert
f75a009ed4 fix unnecessary statement order change 2021-03-11 15:16:32 -05:00
Dan Halbert
b5d2cc6f46 Merge remote-tracking branch 'adafruit/main' into esp32s2-i2c-bug 2021-03-11 15:09:18 -05:00
Jeff Epler
24f4d981bd
Merge pull request #4380 from jepler/rp2040-audiomp3
raspberrypi: Enable mp3 playback
2021-03-11 12:53:46 -06:00
Scott Shawcroft
0e451a1681
Merge pull request #4383 from hierophect/stm32-uart-dereserve
STM32: Fix UART deinit
2021-03-11 10:48:01 -08:00
Scott Shawcroft
40886d198d
Merge pull request #4385 from hierophect/stm32-f407-can
STM32: add all F405 modules to F407
2021-03-11 10:45:08 -08:00
Scott Shawcroft
a32359b0a2
Merge pull request #4386 from kamtom480/spi_and_i2c
spresense: minor i2c and spi fixes
2021-03-11 10:43:27 -08:00
Dan Halbert
3b948b244e
Merge pull request #4384 from dhalbert/disable-default-usb_cdc
disable default usb_cdc
2021-03-11 12:46:15 -05:00
Dan Halbert
de88fa37fb Merge remote-tracking branch 'adafruit/main' into esp32s2-i2c-bug 2021-03-11 12:27:29 -05:00
Dan Halbert
061d5910cb use fixed esp-idf 2021-03-11 12:09:01 -05:00
Kamil Tomaszewski
18668f6e28 spresense: fix spi to work with only one data pin 2021-03-11 18:06:49 +01:00
Kamil Tomaszewski
76d0870fba spresense: return error as positive value for i2c 2021-03-11 18:04:01 +01:00
Lucian Copeland
0b73c7a212 Update F407 to match F405 2021-03-11 11:27:17 -05:00
Dan Halbert
5ace7af933 disable default usb_cdc 2021-03-11 11:20:29 -05:00
Lucian Copeland
1ebbd14d0f Fix UART deinit 2021-03-11 11:02:13 -05:00
Jeff Epler
15e97f12a1
Merge pull request #4379 from jepler/rp2040-rtc
raspberrypi: RTC: Ensure a time is set
2021-03-11 09:00:31 -06:00
Dan Halbert
08c5dbb003 use return values in STM PWMOut constructor, not exceptions 2021-03-11 08:52:47 -05:00
16bfe3b41c raspberrypi: RTC: Ensure a time is set
Until a time is set, the RTC is not running, and rtc_get_datetime()
returns false without assigning to the out-parameter.

In CircuitPython, this would manifest as arbitrary values being returned,
since uninitialized storage on the stack was being converted into a timestamp.
2021-03-10 20:20:40 -06:00
Scott Shawcroft
f0965b1ef7
Merge pull request #4350 from nitz/board-add-sparkfun-micromod-nrf52840
Add new nRF port for SF MicroMod nRF52840.
2021-03-10 18:13:11 -08:00
c95def0b32 raspberrypi: Enable mp3 playback
The rp2040 is _very_ marginal for mp3 playback, and currently sometimes triggers a bug that gives garbled audio output.  However, it does work for some limited situations.
2021-03-10 18:44:10 -06:00
DavePutz
ef0ce0df72
Merge pull request #43 from adafruit/main
Update from adafruit main
2021-03-10 13:55:09 -06:00
Kevin Matocha
85f0f07d51 add fill_region and draw_line to bitmaptools 2021-03-10 11:37:27 -06:00
Scott Shawcroft
be9e045ee3
Merge pull request #4375 from hathach/rp2040-double-tap-uf2
rp2040 add double reset to uf2
2021-03-10 08:48:07 -08:00
hathach
58fb011070 clean up 2021-03-10 19:03:27 +07:00
hathach
d1c6bb0927 rp2040 add double reset to uf2, also update pico-sdk to 1.1.0 2021-03-10 18:58:23 +07:00
DavePutz
a3c3e8a0fa
fix trailing whitespace 2021-03-09 22:41:08 -06:00
Scott Shawcroft
3b46f2c878
Merge pull request #4366 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-09 18:11:20 -08:00
nitz
d5365cb066
SDIO/QSPI pin names. ¯\_(ツ)_/¯ 2021-03-09 18:36:29 -05:00
nitz
5beb529f61
Update pins, remove unused defs from board config. 2021-03-09 17:43:13 -05:00
nitz
fe0655e121
Update pins, remove unused defs from board config. 2021-03-09 17:39:50 -05:00
DavePutz
0c58cc4772
Moved pin wait to an initial exec 2021-03-09 16:37:29 -06:00
nitz
1ae858126a
Fix the mpconfigboard.mk that was screwy? 2021-03-09 17:29:10 -05:00
Hosted Weblate
c7eb174361 Merge remote-tracking branch 'origin/main' into main 2021-03-09 22:07:24 +01:00
Scott Shawcroft
d650849581
Merge pull request #4348 from FBSeletronica/franzininhoWIFI_wrover
Franzininho wifi ESP32-S2 Wrover
2021-03-09 13:07:19 -08:00
Hosted Weblate
ff2f402ac9 Merge remote-tracking branch 'origin/main' into main 2021-03-09 21:59:06 +01:00
Scott Shawcroft
2c3002b327
Merge pull request #4370 from jposada202020/i2cperipheral_ctrlc
I2CPeripheral samd51 corrections in the CTRLC bit
2021-03-09 12:58:59 -08:00
Hosted Weblate
c39e1e9f55 Merge remote-tracking branch 'origin/main' into main 2021-03-09 21:32:30 +01:00
Scott Shawcroft
709cee0aaf
Merge pull request #4371 from jepler/revert-partition-change
Revert "circuitpy_mpconfig: Disable flash multi-partition"
2021-03-09 12:32:20 -08:00
Chris Dailey
a61db7f12e
Updated SparkFun MicroMod USB PID
As per the PID provide by TheHoff, [here](https://forum.sparkfun.com/viewtopic.php?p=223812#p223812)
2021-03-09 12:54:52 -05:00
DavePutz
f0e3274a33
Update to agree with modified StateMachine.h 2021-03-09 11:13:09 -06:00
1e5ffe1a53 Revert "circuitpy_mpconfig: Disable flash multi-partition"
This reverts commit 156ee4833a.
2021-03-09 11:08:36 -06:00
FBSeletronica
1aad93baa3 Fixing build.yml 2021-03-09 13:58:02 -03:00
FBSeletronica
c4b30420f1 Merge branch 'franzininhoWIFI_wrover' of github.com:FBSeletronica/circuitpython into franzininhoWIFI_wrover 2021-03-09 13:56:00 -03:00
Hosted Weblate
e3b314e1e6 Merge remote-tracking branch 'origin/main' into main 2021-03-09 17:55:57 +01:00
Jonny Bergdahl
48c486807b
Translated using Weblate (Swedish)
Currently translated at 100.0% (975 of 975 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-09 17:55:57 +01:00
Wellington Terumi Uemura
d1e3626460
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (975 of 975 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-03-09 17:55:57 +01:00
Dan Halbert
7d92f5aa5a
Merge pull request #4365 from tannewt/tinyusb_2ad
Update TinyUSB
2021-03-09 11:55:50 -05:00
FBSeletronica
c6eb3f98be Fixing build.yml 2021-03-09 13:55:20 -03:00
jposada202020
be90fa80e8 Initial Changes 2021-03-09 10:48:33 -05:00
DavePutz
6f4510d7aa
Merge branch 'main' into issue_4111 2021-03-08 23:28:21 -06:00
root
576da73a17 Added check for maxlen 2021-03-08 23:23:51 -06:00
root
95b7a59156 Merge branch 'issue_4111' of https://github.com/DavePutz/circuitpython into issue_4111 2021-03-08 23:22:05 -06:00
root
3db0fec267 Added check for maxlen 2021-03-08 23:20:57 -06:00
DavePutz
88650bc4d0
Removed leftover debug code 2021-03-08 22:48:57 -06:00
Dan Halbert
7029783985 funhouse board 2021-03-08 21:24:28 -05:00
Hosted Weblate
f83465e371
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-09 02:49:53 +01:00
Hosted Weblate
f6fe8440d0 Merge remote-tracking branch 'origin/main' into main 2021-03-09 02:49:51 +01:00
hexthat
183fbbfe23
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-03-09 02:49:51 +01:00
Scott Shawcroft
775f1b9e0d
Merge pull request #4329 from jepler/rp2-rotaryio
raspberrypi: Implement rotaryio, improve StateMachine
2021-03-08 17:49:45 -08:00
Scott Shawcroft
e3d4036f2e
Update TinyUSB 2021-03-08 17:24:03 -08:00
Fábio Souza
8dc6c5bf24
Merge branch 'main' into franzininhoWIFI_wrover 2021-03-08 20:58:22 -03:00
Scott Shawcroft
4fc6c7d8c9
Merge pull request #4347 from FBSeletronica/franzininhoWIFI
Adding Circuitpython port for Franzininho WIFI board with the ESP32-S2 wroom module
2021-03-08 15:37:42 -08:00
Scott Shawcroft
b5a955a168
Merge pull request #4354 from jepler/disable-fat-partition
circuitpy_mpconfig: Disable flash multi-partition
2021-03-08 15:25:58 -08:00
Jeff Epler
240909ed57
Merge pull request #4359 from dhalbert/usb_cdc-connect-doc-note
Add caveat for usb_cdc.Serial.connected; fix another doc bug
2021-03-08 15:59:57 -06:00
Jeff Epler
88542e1826
Merge pull request #4355 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-08 09:36:53 -06:00
FBSeletronica
27703f3156 fix quote error 2021-03-08 10:32:37 -03:00
Hosted Weblate
069cf60138 Merge remote-tracking branch 'origin/main' into main 2021-03-08 14:02:52 +01:00
FBSeletronica
5d2631281a Adding franzininho_wifi_wroom in build.yml 2021-03-08 09:46:28 -03:00
FBSeletronica
6052b4e06b Fix build.yml 2021-03-08 09:31:10 -03:00
FBSeletronica
9b0b59d75f updating build.yml with franzininho wifi wroom 2021-03-08 09:01:36 -03:00
FBSeletronica
fe29780afb updating USB_VID and USB_PID for Espressif modules 2021-03-08 08:51:48 -03:00
FBSeletronica
2771e7fe75 Updating USB vendor ID and producfor Espressif modules 2021-03-08 08:47:33 -03:00
Jeff Epler
16f82b9797
Merge pull request #4358 from jepler/count-flash-devices
Automatically count EXTERNAL_FLASH_DEVICES
2021-03-07 21:20:18 -06:00
cdb0fda72a Merge remote-tracking branch 'origin/main' into count-flash-devices 2021-03-07 20:26:04 -06:00
Dan Halbert
24ac8152dd Clarify further; fix type error 2021-03-07 20:32:59 -05:00
Dan Halbert
26eb429cc6 restore install/delete for i2c driver 2021-03-07 18:23:14 -05:00
Dan Halbert
1a6c021239 Add clarifying comment re carriage-return char. 2021-03-07 17:04:27 -05:00
Hosted Weblate
b77d0e5736 Merge remote-tracking branch 'origin/main' into main 2021-03-07 22:16:33 +01:00
Jeff Epler
7ab75fa398
Merge pull request #4356 from jerryneedell/jerryn_blackpill_flash
add GD25Q16C flash to BlackPill
2021-03-07 15:16:29 -06:00
Hosted Weblate
e1f8b8a5b8 Merge remote-tracking branch 'origin/main' into main 2021-03-07 21:55:52 +01:00
Jeff Epler
8f64aae9ca
Merge pull request #4357 from kmatch98/displayio_bitmap
refactor displayio set_pixel for use in bitmap_tools
2021-03-07 14:55:48 -06:00
Dan Halbert
a6cb7d7069 Document readline() and readlines() 2021-03-07 15:34:07 -05:00
Dan Halbert
d919b7fa4a fix #4352 2021-03-07 14:13:20 -05:00
Dan Halbert
8594396a07 Add caveat for usb_cdc.Serial.connected 2021-03-07 14:07:07 -05:00
32475ce98c Automatically count EXTERNAL_FLASH_DEVICES (mk2)
Instead of counting words in make, which is slightly awful, notice that
possible_devices is local to external_flash.c, so we can declare the array
with an automatic bound, and then get the count as the element-count
(MP_ARRAY_SIZE) of the array.

Since EXTERNAL_FLASH_DEVICE_COUNT is no longer a global macro, switch
a few sites to using EXTERNAL_FLASH_DEVICES in `#if` checks instead.
2021-03-07 12:51:47 -06:00
Jeff Epler
f1ada8e880 Automatically count EXTERNAL_FLASH_DEVICES 2021-03-07 11:48:39 -06:00
Hosted Weblate
804ab4c1d6 Merge remote-tracking branch 'origin/main' into main 2021-03-07 18:41:29 +01:00
Jeff Epler
103632f444
Merge pull request #4351 from tyomitch/patch-2
[readme] minor clarification / deduplication
2021-03-07 11:41:25 -06:00
jerryneedell
a23129bc49 add GD25Q16C flash to BlackPill 2021-03-07 17:23:39 +00:00
Kevin Matocha
0c012da080 refactor displayio set_pixel for use in bitmap_tools 2021-03-07 11:22:30 -06:00
Hosted Weblate
baeb3e91a6 Merge remote-tracking branch 'origin/main' into main 2021-03-07 17:09:58 +01:00
Jeff Epler
a4133c4545
Merge pull request #4344 from jepler/vm-size-optimizations
Vm size optimizations: Get back 1500 bytes for 3.2% VM speed decrease
2021-03-07 10:09:51 -06:00
Jose David M
1c2a1a672f
Translated using Weblate (Spanish)
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-03-07 16:50:47 +01:00
Jeff Epler
156ee4833a circuitpy_mpconfig: Disable flash multi-partition
This adds some additional code in mkfs which doesn't seem necessary, and
Disabling it saves 172 bytes flash.

Testing performed: Using a Feather M0 Adalogger, checked that
 * an sdcard could still be mounted (using adafruit_sdcard)
 * os.listdir() of "/" and "/sd" worked
 * CIRCUITPY still mounted
2021-03-07 09:37:18 -06:00
Artyom Skrobov
1d33353ed3
[readme] minor clarification / deduplication 2021-03-07 09:19:49 +02:00
nitz
8e8368d594
Add sparkfun_nrf52840_micromod to build.yml 2021-03-07 01:25:31 -05:00
nitz
3b76299f39
Add new nRF port for SF MicroMod nRF52840. 2021-03-07 01:06:50 -05:00
FBSeletronica
17aa9ae3f6 Update vendor ID for Espressif ESP32S2 Modules 2021-03-06 18:43:34 -03:00
FBSeletronica
4a50f1dd6f Update Vendor ID for Espressif 2021-03-06 18:36:53 -03:00
FBSeletronica
e68ab5ae2a Fix build.yml wifi Franzininho WIFI wrover Board 2021-03-06 18:33:24 -03:00
FBSeletronica
67e598a863 Fix build.yml wifi Franzininho WIFI wroom Board 2021-03-06 18:26:13 -03:00
FBSeletronica
48e727f7d6 adding port for Franzininho WIFI board ESP32S2 w/Wrover 2021-03-06 17:47:27 -03:00
FBSeletronica
6cf9c5158c adding port for Franzininho WIFI board 2021-03-06 17:15:54 -03:00
Jeff Epler
08e1f926fe
Merge pull request #4346 from jepler/fix-nvm-doc
nvm: fix doc markup
2021-03-06 13:32:09 -06:00
b23c5b2d68 nvm: fix doc markup
closes #4336
2021-03-06 07:54:54 -06:00
Jeff Epler
4f040af481 vm: Make the speed-size trade-off compile time settable
.. and enable for all samd21 boards
2021-03-05 18:29:27 -06:00
Jeff Epler
67fb3054b4
Merge pull request #4342 from jamesbowman/main
Enable EVE low-level for Teensy 4.0 and 4.1
2021-03-05 17:25:00 -06:00
Jeff Epler
7b359d7a8a vm: Consolodate all dispatch instructions
Flash savings: 1268 bytes
Performance: 10,000 iteration loop .665 -> .676s (+1.7%)
2021-03-05 16:52:35 -06:00
Jeff Epler
28638df589 vm: cut vmentrytable size
This also adds a bit of code everywhere we DISPATCH(), but the net is
+232 bytes free on Feather M0 Adalogger.

Key assumption: All of the offsets in mp_execute_bytecode fit in 16 bits;
it is not clear whether the compiler will verify this assumption (e.g.,
by warning that a constant will be truncated)
2021-03-05 16:52:35 -06:00
Jeff Epler
d2056a46ee
Merge pull request #4335 from tyomitch/main
[nrf] No need to store `buffer_length` as part of `audiopwmio_pwmaudioout_obj_t`
2021-03-05 15:54:10 -06:00
Jeff Epler
bed96a98d2
Merge pull request #4337 from tyomitch/patch-1
[stm] `curr_pulseout` can be `STATIC`
2021-03-05 15:53:31 -06:00
Jeff Epler
2881699cf9
Merge pull request #4338 from tyomitch/patch-2
[audiocore] `buffer_read` was never used
2021-03-05 15:52:39 -06:00
Dan Halbert
dfcc9c6d8b
Merge pull request #4340 from jepler/fix-ci-failure-info
build.yml: Fix 'Print failure info' to not error
2021-03-05 15:00:50 -05:00
James Bowman
bff585ffd2 Enable EVE low-level for Teensy 4.0 and 4.1 2021-03-05 11:32:58 -08:00
cd1f19020f raspberrypi: move landmine Makefile comments 2021-03-05 12:59:55 -06:00
f7e42bfebc build.yml: Fix 'Print failure info' to not error
Print Failure Info is for printing differences detected by 'Test all'.  When some other step fails, then "*.exp" doesn't match any files at all, and _this_ step fails too.

We will assume that Github Actions always runs with bash as the shell (as it does today). In this case, we can set the  "nullglob" shell option, so that a non-existent glob expands to nothing, instead of to itself.
2021-03-05 12:50:15 -06:00
Jeff Epler
3c50918adc
Merge pull request #4333 from dhalbert/compile-options-shrink-builds
Shrink the smallest builds with compile options
2021-03-05 10:36:41 -06:00
Jeff Epler
2ae1e7de61 WIPrp2040: Implement IncrementalEncoder
Any two consecutive pins can be used for an IncrementalEncoder

Testing performed: Put a synthesized (few hundred counts per second) quadrature signal into GP2/3 and read the encoder out.  Performed filesystem operations at the same time to stress test it.

The reasons for not using common_hal_rp2pio_statemachine_readinto are commented on.
2021-03-05 10:31:29 -06:00
Artyom Skrobov
915a5eddeb [audiocore] buffer_read was never used 2021-03-05 10:25:09 -05:00
Dan Halbert
4cf6579e22 remove general changes; not consistent across builds 2021-03-05 10:10:50 -05:00
Artyom Skrobov
e0b96c0f43 [nrf] No need to store buffer_length as part of audiopwmio_pwmaudioout_obj_t 2021-03-05 06:01:58 -05:00
Artyom Skrobov
4720dc179a
[stm] curr_pulseout can be STATIC
Not used outside of PulseOut.c
2021-03-05 12:52:13 +02:00
Dan Halbert
c97721455a Shrink the smallest builds with compile options 2021-03-04 23:07:06 -05:00
Dan Halbert
c68073e12b
Merge pull request #4331 from dhalbert/tilegrid-transpose-fix
Tilegrid transpose fix
2021-03-04 21:53:21 -05:00
Jeff Epler
2ab13d6d1e bump xtensa cache timestamp again 2021-03-04 15:52:31 -06:00
DavePutz
a4dda3a5ba
Merge branch 'main' into issue_4111 2021-03-04 14:38:00 -06:00
Jeff Epler
c9dea3d72d make translate 2021-03-04 14:23:06 -06:00
Dan Halbert
b1268107af change esp build cache key (again) 2021-03-04 15:22:56 -05:00
Dan Halbert
68552e90e8 Merge remote-tracking branch 'adafruit/main' into tilegrid-transpose-fix 2021-03-04 15:04:38 -05:00
DavePutz
c5c297d2c0
Update PulseOut.c 2021-03-04 13:53:19 -06:00
DavePutz
b7f03f9487
Update PulseOut.h 2021-03-04 13:52:40 -06:00
DavePutz
2d941b070f
Changed interrupt to per-word basis; cleaned up other small items 2021-03-04 13:51:46 -06:00
Dan Halbert
d1184e7e94 Be cognizant of null transform for .transpose_xy 2021-03-04 14:40:50 -05:00
Jeff Epler
bc14ed31f6 StateMachine.h: Add header for declaration of mcu_pin_obj_t typedef 2021-03-04 12:28:46 -06:00
Jeff Epler
c023ec03ff PDMIn: Add missing deinit call 2021-03-04 12:28:06 -06:00
Scott Shawcroft
7970c882a6
Merge pull request #4316 from microDev1/issue-template
Add issue templates
2021-03-04 10:16:09 -08:00
Scott Shawcroft
3698d4bc5d
Merge pull request #4287 from pewpew-game/displayio-transpose-uint
Use uint16 for temporary variables in displayio.TileGrid
2021-03-04 10:01:07 -08:00
Jeff Epler
bd01d31542 rp2pio: Add pins_are_sequential
This can be used where the standard API calls for a list of pins, to check that they satisfy the requirements of the rp2pio state machine, e.g.,
```python
    def __init__(self, pin_a, pin_b):
        if not rp2pio.pins_are_sequential([pin_a, pin_b]):
            raise ValueError("Pins must be sequential")
```
2021-03-04 11:26:33 -06:00
Jeff Epler
ff62b0d2c0 StateMachine: Add pull up/down for inputs 2021-03-04 11:26:29 -06:00
Jeff Epler
68ac14b309 StateMachine: Add in_available property
I named the property `in_available` because it is similar to pyserial.
However, it indicates the number of words in the fifo, not the number
of bytes.
2021-03-04 11:14:09 -06:00
Dan Halbert
2ae8a44b2a
Merge pull request #4325 from microDev1/fix-wdt
ESP32S2: Fix watchdog deinit
2021-03-04 11:04:01 -05:00
Dan Halbert
627c5f5bd4
Merge pull request #4327 from hathach/fix-4066-rp2040-hanged-tud_disconnect
fix rp2040 use of tud_disconnect
2021-03-04 10:50:26 -05:00
hathach
c26120a3ac update tinyusb 2021-03-04 21:29:04 +07:00
hathach
6f99026a64 rp2040 use normal usb_irq_handler() 2021-03-04 21:29:04 +07:00
microDev
13453d35c6
fix watchdog deinit 2021-03-04 13:23:34 +05:30
Dan Halbert
dca2989df8
Merge pull request #4317 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-03 20:19:24 -05:00
Hosted Weblate
cca7679146 Merge remote-tracking branch 'origin/main' into main 2021-03-04 00:55:58 +01:00
Dan Halbert
b71f3e1385
Merge pull request #4322 from dhalbert/group-list-member-fix
use self->members in displayio_group_set()
2021-03-03 18:55:51 -05:00
2be302fa0b
Added translation using Weblate (English (United Kingdom)) 2021-03-04 00:19:09 +01:00
Dan Halbert
29575ee439 use self->members in displayio_group_set() 2021-03-03 17:36:48 -05:00
Hosted Weblate
bd06992a37 Merge remote-tracking branch 'origin/main' into main 2021-03-03 22:46:05 +01:00
Dan Halbert
71c43ca2dd
Merge pull request #4319 from jepler/feather-default-uart
feather rp2040: enable default board.UART
2021-03-03 16:46:00 -05:00
Hosted Weblate
3babdf7c7e Merge remote-tracking branch 'origin/main' into main 2021-03-03 22:28:32 +01:00
Jonny Bergdahl
ac308872d6
Translated using Weblate (Swedish)
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-03 22:28:31 +01:00
Jeff Epler
c5feceeafc
Merge pull request #4318 from dhalbert/update-idf-cache-id
force a new idf-cache id to fix build issues
2021-03-03 15:28:25 -06:00
microDev
9aa11ec51e
Apply suggestions from code review 2021-03-04 02:38:46 +05:30
b0fca4fcda feather rp2040: enable default board.UART 2021-03-03 13:13:06 -06:00
Dan Halbert
d6836047a8 force a new idf-cache id to fix build issues 2021-03-03 14:04:56 -05:00
Hosted Weblate
66fd861b22 Merge remote-tracking branch 'origin/main' into main 2021-03-03 18:42:55 +01:00
Wellington Terumi Uemura
20d2088851
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (974 of 974 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-03-03 18:42:54 +01:00
Dan Halbert
cd48c5ee83
Merge pull request #4315 from dhalbert/rp2040-i2c-short-writes
RP2040: Implement short I2C writes (2 bytes or less) using bitbangio
2021-03-03 12:42:47 -05:00
DavePutz
88353f2f5b
Update mpconfigport.mk 2021-03-03 11:00:58 -06:00
DavePutz
ced707ed32
Update call to rp2pio_statemachine_construct 2021-03-03 10:55:08 -06:00
Hosted Weblate
6281a9024b
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-03 17:47:31 +01:00
Hosted Weblate
9dff2d8b29 Merge remote-tracking branch 'origin/main' into main 2021-03-03 17:47:29 +01:00
Jonny Bergdahl
8a23298bfe
Translated using Weblate (Swedish)
Currently translated at 100.0% (971 of 971 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-03 17:47:29 +01:00
Scott Shawcroft
514b73bcf8
Merge pull request #4254 from gamblor21/rp2040_countio
Rp2040 countio
2021-03-03 08:47:24 -08:00
Scott Shawcroft
1d8933dd05
Merge pull request #4265 from DavePutz/pio_soft_reset
Clear out PIOs and State Machines on RP2040 soft reset
2021-03-03 08:43:57 -08:00
Scott Shawcroft
55e41d43eb
Merge pull request #4313 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-03 08:38:07 -08:00
microDev
7c2a291bd1
add .github to exclusions 2021-03-03 21:00:12 +05:30
Dan Halbert
fb7a0f7efc add 1sec timeouts for I2C read and write 2021-03-03 09:43:57 -05:00
microDev
eafcd7d364
add issue templates 2021-03-03 11:22:33 +05:30
DavePutz
afa508cb47
Merge pull request #42 from adafruit/main
Update from adafruit main
2021-03-02 23:03:58 -06:00
gamblor21
98075c5255 Fixed merge 2021-03-02 22:32:59 -06:00
Dan Halbert
e3ab394cd6 works on nearly all sensors 2021-03-02 23:27:37 -05:00
Hosted Weblate
dd88904cc1 Merge remote-tracking branch 'origin/main' into main 2021-03-03 05:19:18 +01:00
Dan Halbert
4167778bbc
Merge pull request #4312 from jepler/feather-rp2040-led
feather rp2040: add board.LED
2021-03-02 23:19:14 -05:00
DavePutz
9b96bae668
Update mpconfigport.mk 2021-03-02 21:36:00 -06:00
DavePutz
30d491e136
Update mpconfigport.mk 2021-03-02 21:30:49 -06:00
DavePutz
58fb7b9b32
Update mpconfigport.mk to get builds working 2021-03-02 21:27:46 -06:00
DavePutz
6046d37f31
Update PulseIn.c 2021-03-02 21:23:45 -06:00
Mark
37ee18349f
Merge branch 'main' into rp2040_countio 2021-03-02 19:47:53 -06:00
gamblor21
4246cc3f6d Counter and PWMOut slice conflict check 2021-03-02 19:32:06 -06:00
b27afad9cb move LED to the right spot in the file 2021-03-02 19:02:38 -06:00
Hosted Weblate
9a98f590e4 Merge remote-tracking branch 'origin/main' into main 2021-03-03 02:01:43 +01:00
Wellington Terumi Uemura
e9bb215bc2
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (971 of 971 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-03-03 02:01:43 +01:00
Jeff Epler
efc2667b5f
Merge pull request #4186 from jepler/update-protomatter-rp2
Enable protomatter on RP2040 builds
2021-03-02 19:01:37 -06:00
Hosted Weblate
a8964c3bcd
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-02 23:11:52 +01:00
Hosted Weblate
f50f276100 Merge remote-tracking branch 'origin/main' into main 2021-03-02 23:11:49 +01:00
Jonny Bergdahl
38f7f23803
Translated using Weblate (Swedish)
Currently translated at 100.0% (971 of 971 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-02 23:11:49 +01:00
Dan Halbert
15615effc2
Merge pull request #4276 from bergdahl/patch-1
Update StateMachine.c
2021-03-02 17:11:45 -05:00
Dan Halbert
0a58d451ad
Merge pull request #4306 from Neradoc/fix-reset-to-safe
press reset to safe mode on ports where reset reason is not implemented
2021-03-02 15:44:52 -05:00
Dan Halbert
f31b472309 Merge remote-tracking branch 'adafruit/main' into rp2040-i2c-short-writes 2021-03-02 15:17:12 -05:00
Dan Halbert
9939c59caa wip 2021-03-02 15:16:55 -05:00
8bfd308d37 feather rp2040: add board.LED 2021-03-02 13:16:09 -06:00
Scott Shawcroft
e4f0e47d9f
Merge pull request #4233 from pewpew-game/displayio-group-list
displayio: make Group use a python list internally
2021-03-02 09:59:58 -08:00
Scott Shawcroft
ce70b95990
Merge pull request #4177 from microDev1/nvm-rp
RP2040: Support for NVM
2021-03-02 09:57:36 -08:00
root
8bf5dd93c1 Removed uneeded call in reset_board_busses() 2021-03-02 11:30:16 -06:00
Dan Halbert
248acd07c8 shrink builds 2021-03-02 12:25:42 -05:00
Dan Halbert
3268330b3a make translate 2021-03-02 12:04:32 -05:00
Dan Halbert
f41fb6fafc
Apply suggestions from code review
copyediting
2021-03-02 12:01:50 -05:00
Dan Halbert
9f6ebf3012
Merge pull request #4310 from kamtom480/spresense_analogin
spresense: return valid reference voltage
2021-03-02 11:55:42 -05:00
Scott Shawcroft
2651e15a52
Merge pull request #4309 from jepler/rp2040-interrupt-pio
rp2pio: allow keyboard interrupt while waiting for tx fifo to empty (& stall)
2021-03-02 08:55:27 -08:00
Scott Shawcroft
722a7150ca
Merge pull request #4308 from jepler/rp2040-build-boot2
raspberrypi: allow directly specifying the original boot .S file
2021-03-02 08:54:30 -08:00
Scott Shawcroft
ffd0807680
Merge pull request #4307 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-02 08:53:27 -08:00
f560b5f3a3 raspberry: switch pico back to the boot2 for W25Q16
Presumably, switching it to generic hurt performance a bit.

I verified that the build-raspberry_pi_pico/boot2_padded_checksummed.S
built file has the same checksum as the old
bs2_default_padded_checksummed.S
2021-03-02 08:08:41 -06:00
Kamil Tomaszewski
7c921b808b spresense: Define LONGINT_IMPL as MPZ 2021-03-02 14:25:22 +01:00
Kamil Tomaszewski
f9d21637a3 spresense: return valid reference voltage 2021-03-02 14:25:22 +01:00
Radomir Dopieralski
cb2cf81136 ugame10 - disable pulseio to make more room for the French 2021-03-02 11:11:55 +01:00
microDev
b029031286
minor structural modification 2021-03-02 14:36:28 +05:30
Hosted Weblate
a6b9523337 Merge remote-tracking branch 'origin/main' into main 2021-03-02 04:57:32 +01:00
Dan Halbert
64192b0ebf
Merge pull request #4298 from jepler/translation-allow-list
build_release_files: Only build languages in an allow-list
2021-03-01 22:57:27 -05:00
Hosted Weblate
6fc5e8eb3a Merge remote-tracking branch 'origin/main' into main 2021-03-02 04:56:58 +01:00
Dan Halbert
54d11a8e2d
Merge pull request #4299 from jamesbowman/main
Add EVE support for Feather M4 Express
2021-03-01 22:56:50 -05:00
5a00862b1d raspberrypi: allow directly specifying the original boot .S file
.. all the necessary steps to transform it into a padded, checksummed
file are now done by the build system.

Since it is assigned by "?=", it _should_ be the case that individual
builds can override it.

I did not "test" this per se, but it gives the same content and checksum
(except for the identifying comment with a path) as #4302.
2021-03-01 21:08:19 -06:00
4b63a8c9b4 rp2pio: allow keyboard interrupt while waiting for tx fifo to empty (& stall) 2021-03-01 21:07:04 -06:00
Hosted Weblate
5a62a0ec90
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-02 03:24:20 +01:00
Hosted Weblate
ef628c4521 Merge remote-tracking branch 'origin/main' into main 2021-03-02 03:24:17 +01:00
Jose David M
c940e112a0
Translated using Weblate (Spanish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-03-02 03:24:17 +01:00
Scott Shawcroft
d0eab5c561
Merge pull request #4256 from kmatch98/bt_cleanup
Add `bitmaptools` module
2021-03-01 18:24:12 -08:00
Scott Shawcroft
7991ac56a0
Merge pull request #4275 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-03-01 18:24:00 -08:00
Neradoc
7441625f37 allow the safe mode danse if RESET_REASON_UNKNOWN 2021-03-02 00:41:43 +01:00
James Bowman
0dabd1ace2 Add EVE support for Feather M4 Express 2021-03-01 14:42:48 -08:00
bddd6b013d build_release_files: Only build languages in an allow-list 2021-03-01 15:28:58 -06:00
Hosted Weblate
cc15f9d211 Merge remote-tracking branch 'origin/main' into main 2021-03-01 22:21:19 +01:00
Scott Shawcroft
1b3bca14cb
Merge pull request #4294 from kamtom480/spresense_analogin
spresense: return the correct value for Analog In
2021-03-01 13:21:15 -08:00
Hosted Weblate
1e939d24f5 Merge remote-tracking branch 'origin/main' into main 2021-03-01 22:20:35 +01:00
Scott Shawcroft
c33d86f78f
Merge pull request #4296 from ajs256/patch-1
Fix formatting in SPI docs
2021-03-01 13:20:29 -08:00
Hosted Weblate
01bd93721c Merge remote-tracking branch 'origin/main' into main 2021-03-01 22:19:54 +01:00
Scott Shawcroft
21a8752166
Merge pull request #4297 from adafruit/tannewt-patch-1
Update flash sizes for Adafruit RP2040 boards
2021-03-01 13:19:50 -08:00
238484ec26 Merge remote-tracking branch 'origin/main' into update-protomatter-rp2 2021-03-01 15:18:32 -06:00
Hosted Weblate
d140066a26 Merge remote-tracking branch 'origin/main' into main 2021-03-01 22:14:18 +01:00
Scott Shawcroft
532e7db293
Merge pull request #4267 from dhalbert/rp2040-digitalinout-fixes
RP2040: change DigitalInOut direction only when necessary; strong drive strength
2021-03-01 13:14:13 -08:00
407a8c222a protomatter: get an rp2 fix by updating 2021-03-01 15:13:47 -06:00
Scott Shawcroft
af9dfccab1
Update QT Py flash size 2021-03-01 10:34:25 -08:00
Scott Shawcroft
dac047db61
Update Feather RP2040 to 8MB 2021-03-01 10:33:04 -08:00
ajs256
f722df70c8
Fix formatting in SPI docs
Close #4293 by changing  `..note::` to `.. note::`.
2021-03-01 09:06:24 -08:00
Hosted Weblate
41105d24a9 Merge remote-tracking branch 'origin/main' into main 2021-03-01 16:19:29 +01:00
hexthat
1fcc0e47ff
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-03-01 16:19:29 +01:00
Jonny Bergdahl
5c2c743bbd
Translated using Weblate (Swedish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-03-01 16:19:28 +01:00
Wellington Terumi Uemura
173608f1aa
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-03-01 16:19:28 +01:00
Jeff Epler
58de611217
Merge pull request #4278 from kmatch98/blit_self
fix two off by one errors
2021-03-01 09:19:20 -06:00
Kamil Tomaszewski
d68fdf3a3d spresense: return the correct value for Analog In 2021-03-01 15:45:10 +01:00
Hosted Weblate
0178c44aaa
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-03-01 04:21:25 +01:00
Hosted Weblate
ebecb28a33 Merge remote-tracking branch 'origin/main' into main 2021-03-01 04:21:22 +01:00
Jose David M
07b3a7f6d7
Translated using Weblate (Spanish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-03-01 04:21:22 +01:00
Dan Halbert
538cd7eada
Merge pull request #4277 from adafruit/tannewt-patch-1
Typo fix: direcion -> direction
2021-02-28 22:21:08 -05:00
Dan Halbert
347d0fcb49
Deleted translation using Weblate (Abkhazian) 2021-02-28 17:42:34 +01:00
Dan Halbert
34917b8e8e
Added translation using Weblate (Abkhazian) 2021-02-28 17:41:35 +01:00
Radomir Dopieralski
2a3cd5b294 Use uint16 for temporary variables in displayio.TileGrid
Should fix #4284
2021-02-28 00:29:49 +01:00
gamblor21
d7bc8a46a5 Added counters per slice 2021-02-27 15:17:27 -06:00
Radomir Dopieralski
24473b7983 Separate out mp_obj_list_insert for use in display.Group
Note that for some reason this makes the binary 500 bytes larger!
2021-02-27 21:13:55 +01:00
Radomir Dopieralski
38fb7b511b Remove max_size from displayio.Group
Still accept it as an argument. Add deprecation note.
2021-02-27 20:52:38 +01:00
Radomir Dopieralski
9c41753e44 Remove unused typedef for group children 2021-02-27 20:52:38 +01:00
Radomir Dopieralski
e9953754ea Add displayio.Group.sort() method 2021-02-27 20:52:38 +01:00
Radomir Dopieralski
e505c59ed8 Separate mp_obj_list_pop so it can be used outside of objlist.c 2021-02-27 20:52:38 +01:00
Radomir Dopieralski
121c6bcc9b Replace displaio.Group.children with a python list
This is a first go at it, done by naive replacing of all array
operations with corresponding operations on the list. Note that
there is a lot of unnecessary type conversions, here. Also, list_pop
has been copied, because it's decalerd STATIC in py/objlist.h
2021-02-27 20:52:38 +01:00
Radomir Dopieralski
6e0ce23f3e displaio: don't store group children native object
Since we want to expose the list of group's children to the user,
we should only have the original objects in it, without any other
additional data, and compute the native object as needed.
2021-02-27 20:52:38 +01:00
Hosted Weblate
19178a1767 Merge remote-tracking branch 'origin/main' into main 2021-02-27 16:20:00 +01:00
Jonny Bergdahl
6c3fcead62
Translated using Weblate (Swedish)
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-02-27 16:19:59 +01:00
Wellington Terumi Uemura
6520d169e4
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (970 of 970 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-27 16:19:59 +01:00
Dan Halbert
f4886a6f46
Merge pull request #4283 from pewpew-game/usb-msc-disable
Fix for CIRCUITPY_USB_MSC=0
2021-02-27 10:19:52 -05:00
Radomir Dopieralski
8c8d60fb80 Fix for CIRCUITPY_USB_MSC=0
Avoid undefined functions when MSC is disabled.
2021-02-27 15:05:00 +01:00
root
29c89a2487 Removed more includes 2021-02-26 22:35:38 -06:00
root
f3515502b7 Removed unecessary includes 2021-02-26 22:33:50 -06:00
root
6374408c06 Changed reset_rp2pio_statemachine to clean up any PIO interrupts. 2021-02-26 22:28:50 -06:00
Scott Shawcroft
94edff9063
translation update 2021-02-26 15:42:53 -08:00
Kevin Matocha
3afc269b18 fix two off by one errors 2021-02-26 17:22:11 -06:00
Scott Shawcroft
24fdda038e
translation update 2021-02-26 15:18:50 -08:00
Jonny Bergdahl
f7eac46c78
Update StateMachine.c
Changed woring to use max instead
2021-02-27 00:07:30 +01:00
Scott Shawcroft
776301c932
Typo fix: direcion -> direction 2021-02-26 15:03:56 -08:00
Hosted Weblate
8aacd3f40a
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-26 23:57:34 +01:00
Scott Shawcroft
888a0c5f08
Merge pull request #4224 from microDev1/busio-uart-rp
RP2040: Support for UART
2021-02-26 14:57:23 -08:00
Dan Halbert
d9234ffa82 need to gpio_set_dir() at some point 2021-02-26 15:27:35 -05:00
root
7942932176 Requested changes 2021-02-26 14:14:55 -06:00
Scott Shawcroft
7562b0cbb8
Turn off GC opt on catwan_usbstick 2021-02-26 12:00:01 -08:00
Scott Shawcroft
2e6e91dc5c
Merge pull request #4253 from tannewt/rp2040_fix_pwm_reuse
Fix second shared PWM
2021-02-26 11:53:54 -08:00
Scott Shawcroft
3ea89b86c1
Merge pull request #4274 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-26 11:49:58 -08:00
Scott Shawcroft
7c8d7d77dd
Merge remote-tracking branch 'adafruit/main' into busio-uart-rp 2021-02-26 09:04:42 -08:00
Hosted Weblate
60d600d2ce Merge remote-tracking branch 'origin/main' into main 2021-02-26 17:11:49 +01:00
Limor "Ladyada" Fried
caedc3bba6
Merge pull request #4270 from tannewt/rp2040_feather_pinout
Update RP2040 Feather pinout for production rev
2021-02-26 11:11:44 -05:00
1d1ff5f308 Merge remote-tracking branch 'origin/main' into update-protomatter-rp2 2021-02-26 09:56:35 -06:00
Hosted Weblate
db2bea8e48 Merge remote-tracking branch 'origin/main' into main 2021-02-26 16:47:30 +01:00
Jeff Epler
5158aec8c1
Merge pull request #4269 from jepler/fix-out-stride-2-4
rp2pio: Fix writing where the stride was 2 or 4
2021-02-26 09:47:19 -06:00
Jonny Bergdahl
ac880152a1
Translated using Weblate (Swedish)
Currently translated at 100.0% (971 of 971 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-02-26 14:50:28 +01:00
Wellington Terumi Uemura
fb4af7e77e
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (971 of 971 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-26 14:50:27 +01:00
Jose David M
0259e1a89a
Translated using Weblate (Spanish)
Currently translated at 100.0% (971 of 971 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-02-26 14:50:27 +01:00
Scott Shawcroft
3f08cb47b8
Merge remote-tracking branch 'adafruit/main' into busio-uart-rp 2021-02-25 16:59:15 -08:00
Scott Shawcroft
52bc935fa7
A few minor fixes for corner cases
* Always clear the peripheral interrupt so we don't hang when full
* Store the ringbuf in the object so it gets collected when we're alive
* Make UART objects have a finaliser so they are deinit when their
  memory is freed
* Copy bytes into the ringbuf from the FIFO after we read to ensure
  the interrupt is enabled ASAP
* Copy bytes into the ringbuf from the FIFO before measuring our
  rx available because the interrupt is based on a threshold (not
  > 0). For example, a single byte won't trigger an interrupt.
2021-02-25 16:50:57 -08:00
Scott Shawcroft
f0432b9d6f
Remove neopixel power 2021-02-25 16:37:34 -08:00
Kevin Matocha
ec4cd68edc More mpconfigboard.mk corrections for small builds 2021-02-25 17:48:50 -06:00
Dan Halbert
d0f1cfb039 address review; use gpio_set() carefully 2021-02-25 18:41:22 -05:00
Scott Shawcroft
2b163ccd6a
Fix incorrect deinit mask 2021-02-25 14:57:46 -08:00
Scott Shawcroft
1b00d94b23
Fix second shared PWM
Fixes #4210
2021-02-25 14:49:09 -08:00
Scott Shawcroft
80f7972f72
Update RP2040 Feather pinout for production rev 2021-02-25 14:46:08 -08:00
Scott Shawcroft
b69cb0144c
Merge pull request #4268 from kmatch98/blit_self
Update for clean blitting into itself
2021-02-25 14:15:25 -08:00
22276710e6 rp2pio: Fix writing where the stride was 2 or 4
The wrong stride value was being checked.
2021-02-25 15:50:49 -06:00
Kevin Matocha
a7a4f93ff8 Updated build configs to turn off BITMAPTOOLS for smaller builds 2021-02-25 15:44:32 -06:00
Kevin Matocha
4097c949a3 Update for clean blitting into itself 2021-02-25 14:16:40 -06:00
Dan Halbert
94d7bfb1c9
Merge pull request #4264 from UnexpectedCircuitPython/main
Expanded pin names for TinyS2 + FeatherS2 pin additions for DAC1 & DAC2
2021-02-25 15:13:18 -05:00
Dan Halbert
199a8ce8b0 change DigitalInOut direction only when necessary; strong drive strength 2021-02-25 14:10:19 -05:00
Scott Shawcroft
d4bf0d5e2d
Merge pull request #4258 from jepler/pixelbuf-brightness-performance
_pixelbuf: Increase performance of brightness-scaling
2021-02-25 10:51:32 -08:00
root
f8eb5bc275 Cleanup PIOs and State Machines on soft reset 2021-02-25 12:38:43 -06:00
microDev
8170e26a86
more uart improvements
- address suggested changes
- refine uart instance availibility checks
- improve pin validation and rx buffer handling
2021-02-25 23:46:00 +05:30
Dan Halbert
bbe0602738
Merge pull request #4245 from kamtom480/spresense_usb_speed
spresense: Pass the correct USB bus speed after restart
2021-02-25 11:02:33 -05:00
Dan Halbert
a7120bfad9
Merge pull request #4263 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-25 10:39:42 -05:00
Kamil Tomaszewski
fb32e0a7fd qtpy_m0_haxpress: Change config to make it fit. 2021-02-25 09:44:33 +01:00
Seon Rozenblum
69b10d7925 Added DAC1 & DAC2 pin names for FeatherS2
Expanded pin names for TinyS2 and added some new ones for functionality I forgot to add pin names for
Cleaned up mpconfigboard
2021-02-25 17:32:34 +11:00
Hosted Weblate
d9a2c8308f
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-25 01:24:53 +01:00
Hosted Weblate
a52132c170 Merge remote-tracking branch 'origin/main' into main 2021-02-25 01:24:51 +01:00
Daniel Glocker
00b1d4e167
Translated using Weblate (German)
Currently translated at 81.2% (783 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/de/
2021-02-25 01:24:51 +01:00
Jeff Epler
abfacc3742
Merge pull request #4251 from tannewt/rp2040_audiobusio
Implement audiobusio and enhance PIO for it
2021-02-24 18:24:44 -06:00
root
86e60f5f35 Clean up formatting 2021-02-24 17:26:35 -06:00
root
17ff5dcc99 Return NotImplementedError for PulseOut 2021-02-24 17:04:05 -06:00
root
8e15f36baa pulseio (pulsein) for RP2040 2021-02-24 16:58:29 -06:00
dac4ac5d2a _pixelbuf: Respond to review comments
* Comment on the reason for scaling by 256
 * Divide by 256 instead of shifting
 * fix a cast; eliminate an unneeded roundf() to get a few bytes code back
2021-02-24 16:27:09 -06:00
Kevin Matocha
c883bb773b Rearrange input parameters 2021-02-24 16:03:50 -06:00
microDev
5d7fdafcde
implement suggested changes
- add internal buffering
- rtc initialization fix
2021-02-25 00:48:36 +05:30
Kamil Tomaszewski
ef3a61432b Add the missing argument to the HID functions 2021-02-24 19:09:17 +01:00
Kamil Tomaszewski
dafdd246bc Update tinyUSB 2021-02-24 18:27:54 +01:00
Kamil Tomaszewski
e369473794 spresense: change RX and TX buffer size for CDC 2021-02-24 18:19:18 +01:00
Kamil Tomaszewski
ced820c8a7 Update tinyUSB 2021-02-24 18:19:18 +01:00
DavePutz
eeb89a97b4
Merge pull request #41 from adafruit/main
Update from adafruit main
2021-02-24 10:09:52 -06:00
b7f5c277ad _pixelbuf: Increase performance of brightness-scaling
On the Pico, this increases the "fill rate" of
    pixels[:] = newvalues
considerably.  On a strip of 240 RGB LEDs, auto_write=False, the timings
are:

|| Brightness || Before || After || Improvement ||
|| 1.0        || 117 kpix/s || 307 kpix/s || 2.62x ||
|| 0.07       || 117 kpix/s || 273 kpix/s || 2.33x ||

It's worth noting that even the "before" rate is fast compared to the
time to transmit a single neopixel, but any time we can gain back
in the whole pipeline will let marginal animations work a little better.
To set all the pixels in this way and then show() gives a pleasant bump
to the framerate, from about 108Hz to 124Hz (1.15x)

The main source of speed-up is using integer math instead of floating
point math for the calculation of the post-scaled pixel values.  A slight
secondary gain is achieved by avoiding the scaling altogether when
the scale factor is 1.0.

Because the math is not exactly the same, some scaled pixel values may
change by +- 1 RGBW "step".  In practice, this is unlikely to matter.

The gains are bigger on the Pico and other M0 microcontrollers than M4
microcontrollers with floating point math in the hardware.

Happily, flash size is also improved a bit on the Pico build I did,
going from
> 542552 bytes used, 506024 bytes free in flash firmware space out of 1048576 bytes (1024.0kB).

to
> 542376 bytes used, 506200 bytes free in flash firmware space out of 1048576 bytes (1024.0kB).
2021-02-24 09:51:27 -06:00
Kevin Matocha
cd4d55a573 yet another sphinx try 2021-02-24 08:05:40 -06:00
Kevin Matocha
e858db07f0 Another sphinx try 2021-02-24 07:59:32 -06:00
Kevin Matocha
2815c6dafa More sphinx attempts 2021-02-24 07:49:34 -06:00
Kevin Matocha
af5ad50125 More sphinx fixes 2021-02-24 01:18:30 -06:00
Kevin Matocha
18658b77f3 Sphinx docstring updates 2021-02-24 01:00:13 -06:00
Kevin Matocha
b720028642 Add bitmaptools module 2021-02-23 23:23:14 -06:00
Mark
b935dcafdc
Merge branch 'main' into rp2040_countio 2021-02-23 19:46:41 -06:00
gamblor21
379f454ce6 Adding countio to rp2040 2021-02-23 19:38:05 -06:00
Scott Shawcroft
889f02abe4
Translations 2021-02-23 16:32:16 -08:00
Scott Shawcroft
abbbb91fa8
Add state machine divisor check
This causes an exception when setting a state machine too slow or
too fast.

Fixes #4222
2021-02-23 16:30:46 -08:00
Scott Shawcroft
360475e266
Implement audiobusio and enhance PIO for it
This adds I2SOut and PDMIn support via PIO.

StateMachines can now:
 * read and read while writing
 * transfer in 1, 2 or 4 byte increments
 * init pins based on expected defaults automatically
 * be stopped and restarted
 * rxfifo can be cleared and rxstalls detected (good for tracking when
   the reading code isn't keeping up)

Fixes #4162
2021-02-23 15:50:00 -08:00
Scott Shawcroft
e41137c745
Merge pull request #4244 from UnexpectedCircuitPython/main
Added Unexpected Maker TinyS2 board definition
2021-02-23 10:40:06 -08:00
Scott Shawcroft
001d7299b2
Merge pull request #4228 from ZodiusInfuser/rp2040-boards
Added definitions for Pimoroni RP2040-based boards
2021-02-23 10:00:19 -08:00
Scott Shawcroft
8b626a4800
Merge pull request #4248 from dhalbert/uniform-build-shrinks
set SUPEROPT_VM = 0 on most non-Express SAMD21 boards
2021-02-23 08:58:01 -08:00
Scott Shawcroft
137a995ef5
Merge pull request #4249 from dhalbert/sys-control-typo
Fix typos for CIRCUITPY_USB_HID_SYS_CONTROL
2021-02-23 08:48:48 -08:00
Dan Halbert
7a4198885e Fix typos for CIRCUITPY_USB_HID_SYS_CONTROL 2021-02-23 09:22:20 -05:00
ZodiusInfuser
1a0bf4c33f
Added flash size for PicoSystem 2021-02-23 11:04:20 +00:00
ZodiusInfuser
a9951c9b6c
Added flash size for Keybow2040 2021-02-23 11:01:40 +00:00
ZodiusInfuser
ca9b7debe0
Added flash size for Tiny2040 2021-02-23 10:43:35 +00:00
Seon Rozenblum
78b2daa2a7 Added Unexpected Maker TinyS2 board definition 2021-02-23 17:55:17 +11:00
Dan Halbert
a30d4ad25d set SUPEROPT_VM = 0 on most non-Express SAMD21 boards 2021-02-22 23:03:11 -05:00
Dan Halbert
cca6cfe026
Merge pull request #4247 from tannewt/rp2040_flash_size
Board specific flash sizes for RP2040
2021-02-22 22:33:07 -05:00
Scott Shawcroft
3fdf29e773
More parens 2021-02-22 18:35:09 -08:00
Scott Shawcroft
863981a5b8
Parens 2021-02-22 18:31:45 -08:00
Scott Shawcroft
0aafeac209
Board specific flash sizes for RP2040
Stop-gap solution for #4041. Comment is there to provide info
needed in the future. (We currently run the generic "safe" settings.)
2021-02-22 17:19:18 -08:00
Scott Shawcroft
b19e7c9148
Merge pull request #4243 from jepler/usb-serial-number-savings
USB descriptors: Save flash storage for serial number
2021-02-22 16:48:12 -08:00
Scott Shawcroft
2262af0b52
Merge pull request #4239 from dhalbert/samd21-msc-one-endpoint-pair
SAMD21: one endpoint pair for MSC now instead of two
2021-02-22 15:58:14 -08:00
Scott Shawcroft
244b7e2300
Merge pull request #4234 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-22 15:00:21 -08:00
aa1de69645 fix length of generated serial number descriptor 2021-02-22 07:33:04 -06:00
144acfcb98 USB descriptors: Save flash storage for serial number
This saves about 60 bytes (Feather M4 went from 45040 -> 45100 bytes free)
66 bytes of data eliminated, but 6 bytes paid back to initialize the length
field.
2021-02-21 21:24:49 -06:00
Hosted Weblate
d3742a2a1f Merge remote-tracking branch 'origin/main' into main 2021-02-21 23:27:23 +01:00
Jonny Bergdahl
07576b1c22
Translated using Weblate (Swedish)
Currently translated at 100.0% (964 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-02-21 23:27:23 +01:00
Wellington Terumi Uemura
8b7674f0c5
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (964 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-21 23:27:22 +01:00
Hugo Dahl
51e712a9de
Translated using Weblate (French)
Currently translated at 100.0% (964 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-02-21 23:27:22 +01:00
Jose David M
96c3b20d0e
Translated using Weblate (Spanish)
Currently translated at 100.0% (964 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-02-21 23:27:22 +01:00
Dan Halbert
79b1226759
Merge pull request #4238 from dhalbert/cdc-avoid-extra-float-libs
usb_cdc: avoid pulling in extra float-uint64 routines
2021-02-21 17:27:16 -05:00
Dan Halbert
8470f0fdb7 SAMD21: one endpoint pair for MSC now instead of two 2021-02-21 12:37:59 -05:00
Dan Halbert
93bf269c0d Avoid pulling in extra float-uint64 routines 2021-02-21 12:05:03 -05:00
David Glaude
8caa72cfc2
Translated using Weblate (French)
Currently translated at 100.0% (964 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-02-21 17:22:01 +01:00
Hugo Dahl
8b5e0f2c62
Translated using Weblate (French)
Currently translated at 100.0% (964 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-02-21 17:22:01 +01:00
Hugo Dahl
a7baca2149
Translated using Weblate (French)
Currently translated at 99.0% (955 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-02-21 17:19:33 +01:00
David Glaude
7113bd13f1
Translated using Weblate (French)
Currently translated at 99.0% (955 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-02-21 17:19:33 +01:00
David Glaude
410e728c85
Translated using Weblate (French)
Currently translated at 96.0% (926 of 964 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-02-21 17:00:17 +01:00
Hosted Weblate
9905e841f3
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-21 15:16:02 +01:00
Hosted Weblate
38b5a14421 Merge remote-tracking branch 'origin/main' into main 2021-02-21 15:16:00 +01:00
Dan Halbert
2830984aef
Merge pull request #4231 from jepler/memoryview-cast
py: memoryview: implement memoryview.cast if CPYTHON_COMPAT
2021-02-21 09:15:53 -05:00
Jonny Bergdahl
9df8d8269c
Translated using Weblate (Swedish)
Currently translated at 100.0% (963 of 963 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-02-21 02:50:33 +01:00
Wellington Terumi Uemura
eb8f6e30f1
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (963 of 963 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-21 02:50:32 +01:00
Rodrigo Argumedo
156cc4b577
Translated using Weblate (Spanish)
Currently translated at 100.0% (963 of 963 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-02-21 02:50:31 +01:00
a04369e0f5 add ifdef-guard 2021-02-20 17:41:08 -06:00
Dan Halbert
cf3217e6d4
Merge pull request #4232 from TG-Techie/fix_tg_watch
fix TG-Watch ble issue
2021-02-20 18:10:52 -05:00
1a3b12a3bc make translate 2021-02-20 15:17:38 -06:00
Jonah Yolles-Murphy
d8715ac92a update adafruit_register 2021-02-20 16:04:31 -05:00
Jonah Yolles-Murphy
a9a2145238 fix TG-Watch ble issue 2021-02-20 15:46:33 -05:00
Dan Halbert
2074244bce
Merge pull request #4229 from jepler/update-ulab-175
update to ulab 1.7.5
2021-02-20 14:19:17 -05:00
ZodiusInfuser
52f2fd6d53
Removed trailing white space 2021-02-20 17:25:26 +00:00
ZodiusInfuser
417173b752
Removed trailing white space 2021-02-20 17:24:26 +00:00
ZodiusInfuser
9a4b8c5ed9
Removed trailing white space 2021-02-20 17:23:23 +00:00
ZodiusInfuser
dea498a51f
Added new line 2021-02-20 17:20:28 +00:00
ZodiusInfuser
9fbeb0baea
Added new line 2021-02-20 17:20:06 +00:00
ZodiusInfuser
03577ec81c
Added new line 2021-02-20 17:19:45 +00:00
ZodiusInfuser
dac81ea545
Added new line 2021-02-20 17:19:31 +00:00
ZodiusInfuser
0a00f91979
Added new line 2021-02-20 17:15:42 +00:00
ZodiusInfuser
f1df07002f
Added new line 2021-02-20 17:15:20 +00:00
646eb9a7db py: memoryview: implement memoryview.cast if CPYTHON_COMPAT 2021-02-20 10:35:36 -06:00
dde2b8dfb3 update to ulab 1.7.5 2021-02-20 10:05:39 -06:00
ZodiusInfuser
27bc5492f5
Added other files for PicoSystem 2021-02-20 13:37:08 +00:00
ZodiusInfuser
e9c7af1dee
Added board.c for PicoSystem 2021-02-20 13:36:46 +00:00
ZodiusInfuser
fb7cce6503
Added other files for Keybow2040 2021-02-20 13:35:27 +00:00
ZodiusInfuser
7ac20bfb8b
Added board.c for Keybow2040 2021-02-20 13:35:06 +00:00
ZodiusInfuser
66dd74cd12
Added other files for Tiny2040 2021-02-20 13:33:54 +00:00
ZodiusInfuser
ad8916499d
Added board.c for Tiny2040 2021-02-20 13:32:54 +00:00
Scott Shawcroft
5d154937d6
Merge pull request #4187 from hierophect/manual-tests
Create tests/_manual, add Socket tests
2021-02-19 18:44:27 -08:00
Scott Shawcroft
fdf9d04a75
Merge pull request #4225 from jepler/update-doc-excludes
docs: ignore the idf_tools folder
2021-02-19 18:42:18 -08:00
Scott Shawcroft
7b6f89a074
Merge pull request #4215 from dhalbert/secondary-cdc
Second USB CDC (serial) channel
2021-02-19 18:34:03 -08:00
Scott Shawcroft
220f86f873
Merge pull request #4223 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-19 18:28:27 -08:00
Jose David M
2529c263de
Translated using Weblate (Spanish)
Currently translated at 100.0% (963 of 963 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-02-20 02:10:27 +01:00
Dan Halbert
985e020936 shrink simmel build 2021-02-19 18:41:27 -05:00
Dan Halbert
076a7b7161 CIRCUITPY_BITOPS merge error 2021-02-19 15:30:27 -05:00
Dan Halbert
67406488d1 merge from upstream; re-alphabetize 2021-02-19 14:22:50 -05:00
Dan Halbert
9d4442e298 handle reads/writes larger than buffers; add .write_timeout 2021-02-19 14:15:31 -05:00
ZodiusInfuser
ee5a48fece
Delete pimoroni_tiny2040 2021-02-19 18:30:29 +00:00
ZodiusInfuser
db102ab1ad
Create pimoroni_tiny2040 2021-02-19 18:29:57 +00:00
ZodiusInfuser
312bbdaa6c
Added board names to build.yml 2021-02-19 18:27:23 +00:00
f50e7c71f8 docs: ignore the idf_tools folder 2021-02-19 10:48:00 -06:00
microDev
b12ccefbe6
uart implementation for rp2040 2021-02-19 18:36:00 +05:30
Hosted Weblate
e37ec5199c
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-19 03:29:16 +01:00
Hosted Weblate
552f25255f Merge remote-tracking branch 'origin/main' into main 2021-02-19 03:29:13 +01:00
Jose David M
df1789c270
Translated using Weblate (Spanish)
Currently translated at 91.4% (878 of 960 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-02-19 03:29:13 +01:00
Jeff Epler
1cd4e4552e
Merge pull request #4219 from jepler/bit_transpose
Add Bit transpose function to support piopixl8
2021-02-18 20:29:05 -06:00
b854c06a0c make translate 2021-02-18 17:23:55 -06:00
5c758523c0 requested changes 2021-02-18 17:19:34 -06:00
ffae89b191 bitops: fix argument parsing 2021-02-18 16:10:57 -06:00
72e8fb085c remove debug print during build 2021-02-18 16:01:23 -06:00
Jeff Epler
d56fe7691d bitops: doc correction 2021-02-18 15:44:51 -06:00
Jeff Epler
7fd4567893 bitops: rename from _bit_transpose, describe the algorithm 2021-02-18 15:41:23 -06:00
Lucian Copeland
e77981f86e Fix file ends for CI 2021-02-18 16:26:14 -05:00
Lucian Copeland
0ecb24c3e5
Merge pull request #4169 from hierophect/stm32-i2cstart
STM32: Fix I2C repeated start by converting to IT mode
2021-02-18 15:19:00 -05:00
Dan Halbert
e344c6d684 fix some builds 2021-02-18 14:24:58 -05:00
Scott Shawcroft
e29178cf94
Merge pull request #4213 from jepler/raspberrypi-urandom2
raspberrypi: implement os.urandom
2021-02-18 10:41:41 -08:00
Scott Shawcroft
6921862d67
Merge pull request #4217 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-18 10:39:12 -08:00
Dan Halbert
53a002a096 Initial fix, but bitbangio timing may be off 2021-02-18 13:14:51 -05:00
ac0ffc5656 _bit_transpose: fix docs 2021-02-18 11:45:48 -06:00
c284728621 bit_transpose: Support from 2 to 7 strands, not just 8 2021-02-18 11:33:13 -06:00
9cf7d73c6c core: add bit_transpose function
.. this version can only handle exactly 8 bits "across".  The restriction
may be relaxed in a future revision.
2021-02-18 11:32:47 -06:00
Dan Halbert
5c37b73c6d fix typo to fix nrf builds 2021-02-18 11:09:32 -05:00
Luca De Filippo
84d3c0d02f
Translated using Weblate (Italian)
Currently translated at 45.0% (432 of 960 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/it/
2021-02-18 16:50:24 +01:00
microDev
696d212dc7
fix nvm rewrite 2021-02-18 18:42:00 +05:30
Dan Halbert
ed49c02feb add timeout; finish up for PR 2021-02-17 23:24:11 -05:00
ab5eb86118 raspberrypi: implement os.urandom
Since the datasheet cast some doubt on the strength of the "rosc_hw->randombit",
I use the SHA256 hash function to create a high quality random seed
from random values of uncertain entropy, as well as to generate a sequence
of random values from that seed using SHA256 as a cryptographically-secure
random number generator.

In practice, it produces over 100kB/s of random data which does not
have any gross problems according to _PractRand_.
2021-02-17 17:49:25 -06:00
Lucian Copeland
59429cdcbe Move manual tests and rename 2021-02-17 11:43:45 -05:00
Lucian Copeland
a3aa48b8df Merge remote-tracking branch 'upstream/main' into manual-tests 2021-02-17 11:39:46 -05:00
Scott Shawcroft
261b077209
Merge pull request #4192 from dhalbert/pico-pwmout-top-fix-4189
RP2040: fix off-by-one PWM top issue
2021-02-16 17:38:09 -08:00
Scott Shawcroft
2d23b79551
Merge pull request #4203 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-16 14:40:56 -08:00
Dan Halbert
c26de0136a works! no timeouts 2021-02-16 17:39:36 -05:00
Dan Halbert
0b8f1b9a90 wip: usb_cdc.serials 2021-02-15 20:06:18 -05:00
Dan Halbert
93d788543c Merge remote-tracking branch 'adafruit/main' into secondary-cdc 2021-02-15 20:03:53 -05:00
Hosted Weblate
c47b2ad921 Merge remote-tracking branch 'origin/main' into main 2021-02-15 21:12:39 +01:00
Dan Halbert
5ccbb0be62
Merge pull request #4205 from hierophect/esp32s2-fix-pinfree
ESP32S2: pin_number_is_free should not check never_reset tables
2021-02-15 15:12:34 -05:00
Hosted Weblate
a424dbcbbd Merge remote-tracking branch 'origin/main' into main 2021-02-15 21:11:23 +01:00
Dan Halbert
2a467f1376
Merge pull request #4200 from pewpew-game/pewpew-get-ticks
pewpew10 - use _pew.get_ticks() for time tracking
2021-02-15 15:11:18 -05:00
Hosted Weblate
d696c8f3b5 Merge remote-tracking branch 'origin/main' into main 2021-02-15 21:10:55 +01:00
Dan Halbert
91b137ec2b
Merge pull request #4206 from iot49/cp-exec
memoryview is valid argument to exec
2021-02-15 15:10:47 -05:00
Bernhard Boser
f8f59598c7 memoryview is valid argument to exec 2021-02-15 10:05:57 -08:00
Lucian Copeland
6d5ffc677b is_free should not check never_reset 2021-02-15 10:29:05 -05:00
Jonny Bergdahl
8942d7f089
Translated using Weblate (Swedish)
Currently translated at 100.0% (960 of 960 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-02-15 01:33:24 +01:00
Radomir Dopieralski
6e338842fc pewpew10 - use _pew.get_ticks() for time tracking 2021-02-14 18:15:38 +01:00
Dan Halbert
0ec99b37e0 handle 100% duty cycle; improve actual_frequency calc 2021-02-13 13:16:49 -05:00
Dan Halbert
d54b5861a3 wip 2021-02-12 19:01:14 -05:00
Dan Halbert
3e4328140c fix off-by-one PWM top issue 2021-02-12 15:53:31 -05:00
Scott Shawcroft
766e79ad3d
Merge pull request #4185 from caternuson/doc_update
Design Guide Update - Exception and asserts
2021-02-12 11:12:34 -08:00
Scott Shawcroft
9aecbd6432
Merge pull request #4183 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-12 11:01:37 -08:00
ff1942cff6 Enable protomatter on RP2040 builds
Also found a race condition between timer_disable and redraw, which
would happen if I debugger-paused inside common_hal_rgbmatrix_timer_disable
or put a delay or print inside it.  That's what pausing inside reconstruct
fixes.

So that the "right timer" can be chosen, `timer_allocate` now gets the `self`
pointer.  It's guaranteed at this point that the pin information is accurate,
so you can e.g., find a PWM unit related to the pins themselves.
This required touching each port to add the parameter even though it's
unused everywhere but raspberrypi.
2021-02-12 08:25:15 -06:00
microDev
f2d7a5f1e1
Merge branch 'main' into nvm-rp 2021-02-12 18:36:54 +05:30
microDev
527b11f99e
implement suggested changes
- update FLASH_FIRMWARE length
- use linker script define value
2021-02-12 18:28:48 +05:30
Hosted Weblate
418f52177d Merge remote-tracking branch 'origin/main' into main 2021-02-12 04:20:03 +01:00
Wellington Terumi Uemura
0399010ead
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (960 of 960 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-12 04:20:03 +01:00
Dan Halbert
08f30fedf5
Merge pull request #4188 from ladyada/main
QT Py with RP2040
2021-02-11 22:19:56 -05:00
lady ada
6428b9e728 sort 2021-02-11 19:31:10 -05:00
lady ada
6c914b8722 QT Py with RP2040 2021-02-11 19:21:42 -05:00
Dan Halbert
f0564b4986 merge from upstream; complicated webusb merge 2021-02-11 18:50:02 -05:00
Lucian Copeland
2d2c40b3d4 Add Socket tests 2021-02-11 17:36:40 -05:00
caternuson
ac6695faba update design guide 2021-02-11 14:28:58 -08:00
Lucian Copeland
edb7f2d807 Free up space for JA build 2021-02-11 16:30:27 -05:00
Lucian Copeland
a061768ceb Merge remote-tracking branch 'upstream/main' into stm32-i2cstart 2021-02-11 16:19:12 -05:00
Hosted Weblate
1207dcd127
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-11 21:20:08 +01:00
Scott Shawcroft
aae10fb37f
Merge pull request #4167 from tannewt/rp2040_audiopwmio
Add PWM based audio playback
2021-02-11 12:19:57 -08:00
Scott Shawcroft
e15f157826
Merge pull request #4179 from dhalbert/remove-spidevice-spi-4172
Remove adafruit_bus_device.SPIDevice.spi
2021-02-11 12:17:38 -08:00
Dan Halbert
d7305182f0 Remove adafruit_bus_device.SPIDevice.spi 2021-02-11 10:33:57 -05:00
microDev
205837c47b
nvm implementation for rp2040 2021-02-11 12:48:36 +05:30
Dan Halbert
206109763f
Merge pull request #4174 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-10 19:55:24 -05:00
Maciej Stankiewicz
95a7f47f01
Translated using Weblate (Polish)
Currently translated at 65.6% (628 of 956 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2021-02-10 22:50:24 +01:00
Lucian Copeland
d00bee2149 Fix I2C Repeated start error by converting to IT mode 2021-02-10 14:59:19 -05:00
Scott Shawcroft
f6603aa566
Merge pull request #4168 from BHDynamics/main
Add DynaLoRa-USB Dongle
2021-02-10 11:03:16 -08:00
Enrique Casado
795ec21f6c Fix alphabetic order or build.yml 2021-02-10 12:55:08 +01:00
Enrique Casado
4c8ba3519b Edit build.yml 2021-02-10 12:45:14 +01:00
Enrique Casado
983c75fb24 Add more pin names 2021-02-10 12:19:50 +01:00
Scott Shawcroft
48d4d2b1cf
Translations 2021-02-09 15:47:54 -08:00
Scott Shawcroft
191b143e7b
Add PWM based audio playback
See
https://learn.adafruit.com/circuitpython-essentials/circuitpython-audio-out
to get started.

Fixes #4037
2021-02-09 15:38:33 -08:00
Scott Shawcroft
b19c700d4a
Merge pull request #4165 from DavePutz/issue_4143
Issue 4143 - Fixed marking a PWM slice incorrectly as variable frequency
2021-02-09 14:30:39 -08:00
root
9a28f0bf45 Fix check for variable PWM frequency 2021-02-09 15:22:59 -06:00
Scott Shawcroft
cd05aa5223
Merge pull request #4163 from jepler/spi-sharing-note
sdcardio:  add a note about sharing the SPI bus with SD cards and other devices
2021-02-09 11:42:22 -08:00
Scott Shawcroft
f88357a5df
Merge pull request #4150 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-09 11:38:53 -08:00
Jeff Epler
ba2b65586f sdcardio: add a note about sharing the SPI bus with SD cards and other devices
Similar to https://github.com/adafruit/Adafruit_CircuitPython_SD/pull/44
2021-02-09 10:07:21 -06:00
Hosted Weblate
c53155c9d6 Merge remote-tracking branch 'origin/main' into main 2021-02-09 15:03:46 +01:00
hexthat
fd3f5708dc
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (956 of 956 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-02-09 15:03:46 +01:00
Wellington Terumi Uemura
cfcc0f1843
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (956 of 956 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-09 15:03:45 +01:00
Dan Halbert
5ba28e9861
Merge pull request #4159 from dhalbert/disable-brownout-before-deep-sleep-4025
turn off brownout before deep sleep
2021-02-09 09:03:33 -05:00
Hosted Weblate
989921dd43 Merge remote-tracking branch 'origin/main' into main 2021-02-09 01:35:33 +01:00
Scott Shawcroft
6efd87b3c6
Merge pull request #4124 from m4tk/main
Add display init code for Lilygo TTGO T8 ESP32-S2
2021-02-08 16:35:27 -08:00
Hosted Weblate
9e3df2f6f2 Merge remote-tracking branch 'origin/main' into main 2021-02-09 01:33:44 +01:00
Scott Shawcroft
0ceac79dfb
Merge pull request #4048 from janderit/fix_3763_mimxrt10xx_spi
fixes: busio, SPI OS error 5 for mimxrt10xx
2021-02-08 16:29:48 -08:00
Hosted Weblate
cf059b7745 Merge remote-tracking branch 'origin/main' into main 2021-02-08 23:57:38 +01:00
Dan Halbert
3c99b09993
Merge pull request #4160 from gamblor21/rp2040_neopixel_pin_fix
RP2040 Set the neopixel pin as output after PIO use
2021-02-08 17:57:30 -05:00
Hosted Weblate
f6506e939f Merge remote-tracking branch 'origin/main' into main 2021-02-08 23:50:57 +01:00
Dan Halbert
3a68ac8abb
Merge pull request #3536 from pewpew-game/pew-get-ticks
Fix #3504: Don't use time module in pew.tick()
2021-02-08 17:50:44 -05:00
Hosted Weblate
2fde67ef84 Merge remote-tracking branch 'origin/main' into main 2021-02-08 22:34:22 +01:00
Dan Halbert
b0ed258302
Merge pull request #4155 from jepler/rpi-pio-background
rp2pio: Transfer up to 32 bytes before checking background tasks
2021-02-08 16:34:16 -05:00
Hosted Weblate
a644513150 Merge remote-tracking branch 'origin/main' into main 2021-02-08 22:25:36 +01:00
Dan Halbert
f171660870
Merge pull request #4139 from hierophect/socket-accept-conn
Socket: Connect accepted sockets
2021-02-08 16:25:31 -05:00
Hosted Weblate
36e90309bc
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-08 22:23:28 +01:00
Hosted Weblate
5936208088 Merge remote-tracking branch 'origin/main' into main 2021-02-08 22:23:25 +01:00
Dan Halbert
be500fd15c
Merge pull request #4136 from hierophect/socket-portmax
Socket: fix inconsistencies in argument types
2021-02-08 16:23:20 -05:00
Hosted Weblate
581bd2c137 Merge remote-tracking branch 'origin/main' into main 2021-02-08 22:22:49 +01:00
Alvaro Figueroa
d96f2fd2a5
Translated using Weblate (Spanish)
Currently translated at 90.5% (865 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2021-02-08 22:21:55 +01:00
Dan Halbert
c8cf1258ac
Merge pull request #4154 from LuminousOwl/fix-max-pio-instructions
Fix maximum PIO instructions
2021-02-08 16:21:49 -05:00
gamblor21
386b49c3e1 Set the pin as output after PIO use 2021-02-08 15:13:37 -06:00
Dan Halbert
c3a1bd8f13 turn off brownout before deep sleep 2021-02-08 12:40:20 -05:00
DavePutz
cec921f374
Merge pull request #40 from adafruit/main
Update from adafruit main
2021-02-08 10:39:26 -06:00
Hosted Weblate
785fb0e161 Merge remote-tracking branch 'origin/main' into main 2021-02-08 17:34:17 +01:00
Dan Halbert
482e583077
Merge pull request #4140 from FoamyGuy/bitmap_font_path_fix
fix bitmap_font path in display resource gen
2021-02-08 11:34:12 -05:00
Hosted Weblate
7abbfb239d Merge remote-tracking branch 'origin/main' into main 2021-02-08 17:33:13 +01:00
Dan Halbert
f66caa29b9
Merge pull request #4146 from gamblor21/busdevice_write_read_fix
Fix write_then_readinto in adafruit_bus_device I2CDevice
2021-02-08 11:33:06 -05:00
Hosted Weblate
154496ab16 Merge remote-tracking branch 'origin/main' into main 2021-02-08 17:29:48 +01:00
Lucian Copeland
1043d619fd
Merge pull request #4148 from Neradoc/fix-recv_into
Fix socket.recv_into receiving one less byte than expected
2021-02-08 11:29:41 -05:00
Dan Halbert
1b7f3d11e7 wip 2021-02-08 10:57:41 -05:00
5423e4966c rp2pio: Transfer up to 32 bytes before checking background tasks
@Jerryneedell noticed that this problem affected strips short enough
to not use the DMA peripheral, thanks for the hot tip!

Instead of checking for background tasks after every byte transfer,
try up to 32 transfers before attending to background tasks.

This fixes the problem I was seeing on my 5-pixel circuit.

Closes #4135.
2021-02-08 08:35:07 -06:00
hexthat
92d76f6d2f
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (955 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-02-07 22:50:20 +01:00
Philip Jander
5bf08c503b adds: maximum retries on SPI busy 2021-02-07 17:06:46 +01:00
Philip Jander
ae91b12aea chore: whitespace fixed 2021-02-07 16:59:11 +01:00
Philip Jander
127cc6204a adds: idle loop to wait for SPI not busy (mimxrt10xx) 2021-02-07 16:59:11 +01:00
Neradoc
6be2466d6f ESP32S2: Socket.recv_into only took len-1 bytes 2021-02-07 08:57:19 +01:00
gamblor21
ea4a12005a Fix write_then_readinto 2021-02-06 10:33:38 -06:00
Jason Nichols
ae262cde55 Fix maximum PIO instructions 2021-02-06 10:54:25 -05:00
Dan Halbert
a10ce39ae6
Merge pull request #4141 from tannewt/update_picosdk
Update to the very latest SDK w/GP15 restore
2021-02-05 23:37:11 -05:00
Scott Shawcroft
22dc7d5359
Update to the very latest SDK w/GP15 restore
Also adds unique id support

Fixes #4039 and hopefully #4107
2021-02-05 18:44:06 -08:00
Scott Shawcroft
e12d38c147
Merge pull request #4134 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-05 18:17:02 -08:00
foamyguy
5c3371bd1a fix bitmap_font path in display resource gen 2021-02-05 18:05:37 -06:00
Lucian Copeland
582bc59d39 Connect accepted sockets 2021-02-05 17:32:15 -05:00
Hosted Weblate
6e1c6cfc42 Merge remote-tracking branch 'origin/main' into main 2021-02-05 21:13:01 +01:00
Scott Shawcroft
c6a7b00030
Merge pull request #4137 from ferret-guy/smps-mode-pin-rpi-pico
Add SMPS mode pin to Raspi Pico pins.c
2021-02-05 12:12:55 -08:00
Hosted Weblate
d0c5c7bd10 Merge remote-tracking branch 'origin/main' into main 2021-02-05 21:08:41 +01:00
Scott Shawcroft
e7438c481e
Merge pull request #4125 from xorbit/main
Add A3 pin to Raspberry Pi Pico
2021-02-05 12:08:35 -08:00
Hosted Weblate
5136220d51 Merge remote-tracking branch 'origin/main' into main 2021-02-05 20:47:55 +01:00
Jonny Bergdahl
ccdf3c0b79
Translated using Weblate (Swedish)
Currently translated at 100.0% (955 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-02-05 20:47:55 +01:00
Scott Shawcroft
a310d4336b
Merge pull request #4128 from hierophect/esp32s2-i2s-claimpin
ESP32S2: Add I2S pin claiming
2021-02-05 11:47:49 -08:00
Lucian Copeland
857bb8a534 Translations 2021-02-05 13:24:55 -05:00
Lucian Copeland
8214d67e5f Fix LWIP connect error report 2021-02-05 13:14:49 -05:00
Mark Omo
1292c35d59
Add SMPS mode pin to Raspi Pico pins.c
Add SMPS mode pin to Raspi Pico pins.c; see section "4.3. Using the ADC" of the Pico datasheet for discussion. 

Driving this pin high forces the onboard regulator into a lower noise PWM mode.
2021-02-05 11:09:40 -07:00
Patrick Van Oosterwijck
a158dde628 Add alternate name VOLTAGE_MONITOR for A3 2021-02-05 10:55:03 -07:00
Lucian Copeland
4d26ffb447 Make timeout core types consistent 2021-02-05 12:32:41 -05:00
Wellington Terumi Uemura
0383402cd7
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (955 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-05 16:41:57 +01:00
433cbc6be1
Translated using Weblate (German)
Currently translated at 79.4% (759 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/de/
2021-02-05 16:41:57 +01:00
Dennis Schweer
804563a4aa
Translated using Weblate (German)
Currently translated at 79.4% (759 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/de/
2021-02-05 16:41:56 +01:00
Dan Halbert
5bb722b927
Merge pull request #4122 from hathach/fix-3986
Fix 3986 background reset remove existing usb callback
2021-02-05 09:13:28 -05:00
Dan Halbert
0a55cfbde8
Merge pull request #4126 from FiriaCTO/webusb
WebUSB serial support (compile-time option, currently defaulted to OFF)
2021-02-05 09:11:43 -05:00
Enrique Casado
70e15d61b2 ports/atmel-samd/boards/dynalora_usb/board.c 2021-02-05 13:24:59 +01:00
Enrique Casado
53f0bb3601 Merge remote-tracking branch 'origin/master' into main 2021-02-05 11:43:43 +01:00
m4tk
54bd79a51a LCD_MISO is not connected on board 2021-02-05 07:52:01 +01:00
Dan Halbert
25d456a5b8 shrink a couple of builds 2021-02-04 22:15:32 -05:00
Dan Halbert
0802b22ed6 usb descriptors all set; rework of enabling for USB devices 2021-02-04 19:23:40 -05:00
Scott Shawcroft
f6e881e820
Merge pull request #4123 from jepler/raspberrypi-reset-bootloader
raspberrypi: implement reset, reset_to_bootloader
2021-02-04 15:33:26 -08:00
Kevin Banks
1352938504 Changed URL 2021-02-04 16:35:42 -06:00
Kevin Banks
b6ce29bc1f Merge branch 'webusb' of https://github.com/FiriaCTO/circuitpython into webusb 2021-02-04 16:31:52 -06:00
Kevin Banks
c4a795b1e7 Changed URL 2021-02-04 16:31:18 -06:00
FiriaCTO
e72069e241
Fix typo in comment
descriptors should be plural

Co-authored-by: Dan Halbert <halbert@halwitz.org>
2021-02-04 16:18:36 -06:00
Lucian Copeland
210d0f8798 Add I2S pin claiming 2021-02-04 16:30:05 -05:00
Kevin Banks
7a17c75256 File ending 2021-02-04 14:15:29 -06:00
Kevin Banks
3a952e96ea Fixing whitespace 2021-02-04 12:42:23 -06:00
6e153d9948 raspberrypi: implement reset, reset_to_bootloader
This makes all the following work:
 * normal microcontroller.reset()
 * reset into safe mode or UF2 bootloader via microcontroller.on_next_reset()
 * reset into UF2 bootloader via the "1200 baud trick"

The implementation of reset_cpu is from micropython.
2021-02-04 12:07:50 -06:00
Patrick Van Oosterwijck
d357a05870 Add A3 pin to Raspberry Pi Pico
We want to be able to use this to measure VSYS.
2021-02-04 10:44:37 -07:00
m4tk
ff7b296b04 Add display init code for Lilygo TTGO T8 ESP32-S2 2021-02-04 16:46:15 +01:00
Kevin Banks
cf9a00dcba A little more content into WEBUSB_README 2021-02-04 09:44:36 -06:00
Kevin Banks
87fe58fea5 Added WEBUSB_README to the table of contents (required by CI) 2021-02-04 08:56:51 -06:00
Kevin Banks
3bf8ef4c14 Making WEBUSB_README.md standalone for now 2021-02-04 08:09:35 -06:00
hathach
8d7b1f9e8c add usb_background_schedule()
unconditionally schedule usb background after
background_callback_reset()
2021-02-04 16:00:14 +07:00
Kevin Banks
4d90f198ec (I could have sworn I deleted that line...) 2021-02-03 18:54:03 -06:00
Kevin Banks
f2067730cb Code cleanup and added a WEBUSB_README file 2021-02-03 18:51:48 -06:00
Kevin Banks
215a56c920 Merge branch 'main' into webusb (trying to get CI back online) 2021-02-03 16:48:28 -06:00
Kevin Banks
00926b687a Trying to keep two ARM builds from overflowing their FLASH 2021-02-03 11:16:19 -06:00
Scott Shawcroft
adaf43d6d8
Merge pull request #4113 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-03 08:48:34 -08:00
Hosted Weblate
7083161261
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-03 13:57:12 +01:00
Hosted Weblate
491badc766 Merge remote-tracking branch 'origin/main' into main 2021-02-03 13:57:10 +01:00
Wellington Terumi Uemura
a4fa9219a9
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (955 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-03 13:57:10 +01:00
Dan Halbert
cd616f6393
Merge pull request #4118 from BiffoBear/Clarified-I2C-init-error-msg-take-2
Clarified i2 c init error msg take 2
2021-02-03 07:56:59 -05:00
BiffoBear
4eb396806c Updated trinket_m0 make file to squeeze all translations as per Dan Halbert. 2021-02-03 11:47:56 +07:00
hathach
e699a59890 hack to fix 3986
just a proof to show that issue analysis is correct
2021-02-03 11:01:33 +07:00
BiffoBear
042c09dab2 Ran make translate to generate circuitpython.pot 2021-02-03 05:57:03 +07:00
BiffoBear
2656c84b01 Initial commit. Edited error messages in .c files 2021-02-03 05:49:40 +07:00
Hosted Weblate
2afb58f2e7
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-02 19:35:23 +01:00
Hosted Weblate
32c4610957 Merge remote-tracking branch 'origin/main' into main 2021-02-02 19:35:21 +01:00
Scott Shawcroft
9140bfb5b2
Merge pull request #4049 from hierophect/sslsocket
Separate SSLSocket from Socket
2021-02-02 10:35:07 -08:00
Hosted Weblate
47665c9a81 Merge remote-tracking branch 'origin/main' into main 2021-02-02 18:53:22 +01:00
Scott Shawcroft
a861498404
Merge pull request #4114 from tannewt/spidevice_spi
Add .spi accessor to SPIDevice
2021-02-02 09:53:10 -08:00
ajs256
1a8bb1cb8b
Merge pull request #1 from adafruit/main
Update fork
2021-02-02 09:04:34 -08:00
Scott Shawcroft
8fd6bff727
Add .spi accessor to SPIDevice
Fixes #4108
2021-02-01 20:03:23 -08:00
Hosted Weblate
829a88d204
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-02 04:47:51 +01:00
Hosted Weblate
9aa73fe2db Merge remote-tracking branch 'origin/main' into main 2021-02-02 04:47:49 +01:00
Scott Shawcroft
8789a2c8a9
Merge pull request #4110 from microDev1/rtc-rp
RP2040: Support for RTC
2021-02-01 19:47:44 -08:00
Hosted Weblate
a4eabdb79d
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-02 04:38:29 +01:00
Hosted Weblate
56e53881d3 Merge remote-tracking branch 'origin/main' into main 2021-02-02 04:38:27 +01:00
hexthat
386deb2ac4
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (955 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-02-02 04:38:27 +01:00
Scott Shawcroft
ced3dc70ff
Merge pull request #4018 from iot49/cp-flow
add uart hardware flow control to nrf port
2021-02-01 19:38:16 -08:00
Scott Shawcroft
db7a962802
Merge pull request #4112 from gamblor21/longint_busdevice_fix
Fixed for boards without longint
2021-02-01 19:24:57 -08:00
Scott Shawcroft
5414363965
Merge pull request #4096 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-02-01 18:59:52 -08:00
Kevin Banks
e79283932d Moving control of USB compile-time options down to the BOARD level 2021-02-01 19:08:56 -06:00
Kevin Banks
1a9e4f5613 Restored accidentally deleted character 2021-02-01 18:51:11 -06:00
Kevin Banks
817ca39f59 ITF_NUM_VENDOR is now automatically computed at run-time 2021-02-01 18:35:58 -06:00
gamblor21
0cf2df48c4 Fixed for boards without longint 2021-02-01 17:58:34 -06:00
Kevin Banks
e1618c21b2 Default WebUSB to OFF because other ports are not ready for it yet 2021-02-01 17:56:38 -06:00
microDev
ec03267035
rtc implementation for rp2040 2021-02-02 00:00:00 +05:30
Hosted Weblate
4db7772d4e Merge remote-tracking branch 'origin/main' into main 2021-02-01 18:50:47 +01:00
Wellington Terumi Uemura
c3aa1ec10e
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (955 of 955 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-02-01 18:50:47 +01:00
Dan Halbert
459f323247
Merge pull request #4087 from DavePutz/cpu_temp_doc
Fixing microcontroller.cpu on multi-core cpus and adding microcontroller.cpus
2021-02-01 12:50:37 -05:00
Dan Halbert
745ba01768 shrink simmel 2021-02-01 12:22:35 -05:00
Lucian Copeland
66639b237f Merge remote-tracking branch 'upstream/main' into sslsocket 2021-02-01 11:43:01 -05:00
Lucian Copeland
8277ffca86 Fix hash, close, error bugs 2021-02-01 11:04:12 -05:00
Hosted Weblate
47fe99963c Merge remote-tracking branch 'origin/main' into main 2021-02-01 05:02:41 +01:00
Scott Shawcroft
0c0b517112
Merge pull request #4105 from xorbit/main
Add board Silicognition LLC M4-Shim
2021-01-31 20:02:36 -08:00
Hosted Weblate
86fbf5cc3d
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-01 04:50:44 +01:00
Hosted Weblate
6d0339432c Merge remote-tracking branch 'origin/main' into main 2021-02-01 04:50:42 +01:00
Scott Shawcroft
529114c162
Merge pull request #4077 from netroy/lilygo-ttgo-t8-esp32-s2
Add support for Lilygo TTGO T8 ESP32-S2
2021-01-31 19:50:36 -08:00
Hosted Weblate
9e160985d7
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-02-01 04:45:51 +01:00
Hosted Weblate
ee3eff9a07 Merge remote-tracking branch 'origin/main' into main 2021-02-01 04:45:48 +01:00
Scott Shawcroft
17cf03c8e4
Merge pull request #4083 from microDev1/watchdog-rp
RP2040: Support for WatchDog
2021-01-31 19:45:38 -08:00
Hosted Weblate
d51176d05c Merge remote-tracking branch 'origin/main' into main 2021-02-01 04:17:25 +01:00
Scott Shawcroft
a52395a4bb
Merge pull request #4095 from hierophect/socket-timeout
Fix default socket timeout
2021-01-31 19:17:12 -08:00
Aditya
6dba7a146d Add support for Lilygo TTGO T8 ESP32-S2 2021-01-31 14:30:31 +01:00
Patrick Van Oosterwijck
414db718e4 Add board to github workflow 2021-01-30 19:17:20 -07:00
Patrick Van Oosterwijck
0dbd3293a9 Add board Silicognition LLC M4-Shim 2021-01-30 18:35:35 -07:00
Hosted Weblate
06c58b03d3 Merge remote-tracking branch 'origin/main' into main 2021-01-31 00:04:34 +01:00
Dan Halbert
9bceb32de7
Merge pull request #4092 from jamesbowman/main
Add Gameduino 3X Dazzler support on raspberry_pi_pico
2021-01-30 18:04:27 -05:00
Lucian Copeland
ddd516a683 Fix default timeout 2021-01-30 15:44:44 -05:00
microDev
34fe152fcf
extend include path 2021-01-30 14:00:14 +05:30
hexthat
75f7753a73
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (925 of 925 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-01-30 03:32:12 +01:00
Wellington Terumi Uemura
5975dee4d7
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (925 of 925 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-01-30 03:32:11 +01:00
Antonin ENFRUN
65da2bb125
Translated using Weblate (French)
Currently translated at 100.0% (925 of 925 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-01-30 03:32:11 +01:00
Hugo Dahl
5345128784
Translated using Weblate (French)
Currently translated at 100.0% (925 of 925 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-01-30 03:32:11 +01:00
James Bowman
acbf66dacc Make sys.platform "RP2040" on raspberrypi
[#4091]
2021-01-29 12:33:37 -08:00
James Bowman
067f42b4f8 Add Gameduino 3X Dazzler support on raspberry_pi_pico
Tested with hardware. Looks good.

Follow on from #4054
2021-01-29 12:25:59 -08:00
Dan Halbert
70a5f464df
Merge pull request #4090 from jepler/update-actions-v2
workflows: use actions/cache@v2
2021-01-29 13:40:13 -05:00
root
e1838ff335 Fix typo in documentation. 2021-01-29 11:57:36 -06:00
Dan Halbert
d4780a5192
Merge pull request #4080 from tannewt/fix_release_pr_description
Fix blinka release PR language list
2021-01-29 12:47:23 -05:00
Jeff Epler
5b2e29d000
Merge pull request #4089 from jepler/update-ulab-issue4086
ulab: update to 1.7.2
2021-01-29 11:45:06 -06:00
66e0f2dcff workflows: use actions/cache@v2 2021-01-29 11:36:27 -06:00
Lucian Copeland
a724f6f954 Fix documentation builds 2021-01-29 11:58:02 -05:00
689fba764a ulab: update to 1.7.2
Closes #4086
2021-01-29 09:45:00 -06:00
Kevin Banks
63f9b12fe6 Partially hard-coded VENDOR descriptor has been added. First build to be accessed via WebUSB. NOTE - had to disable HID (EndPoint shortage?) 2021-01-28 20:22:31 -06:00
root
cfd6ffc649 Adding files for cpu temperature fix 2021-01-28 16:06:30 -06:00
Dan Halbert
f6f007a9f4
Merge pull request #4084 from jepler/default-serpentine
RGBMatrix: change default to serpentine=True
2021-01-28 16:25:51 -05:00
root
67f128c0cf Fixing microcontroller.cpu on muti-core cpus and adding microcontroller.cpus 2021-01-28 14:42:39 -06:00
65a883a74c bump esp-idf cache tag
.. we are seeing failures that we have previously diagnosed as a bad
cache.  The github ui provides no way to update or delete a cache, so
this is our workaround.
2021-01-28 13:52:30 -06:00
0098909757 RGBMatrix: change default to serpentine=True
The "serpentine" display order leads to much better wiring (shorter
ribbon cables) and is preferred.  Change the default accordingly.
2021-01-28 11:42:19 -06:00
microDev
76256821ec
add translations for raspberrypi port 2021-01-28 20:02:00 +05:30
microDev
a54b57ea40
watchdog implementation for rp2040 2021-01-28 15:15:15 +05:30
Scott Shawcroft
9325509b54
Fix blinka release PR language list 2021-01-27 14:08:52 -08:00
Scott Shawcroft
c1c1a5d036
Merge pull request #4072 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-27 11:49:52 -08:00
Bernhard Boser
0d3771ece3 make translate 2021-01-27 09:24:03 -08:00
Bernhard Boser
e285b5b98c Merge remote-tracking branch 'adafruit/main' into cp-flow 2021-01-27 09:22:41 -08:00
Bernhard Boser
16d54586c1 remove long read error message 2021-01-27 09:20:45 -08:00
Kevin Banks
1b031508e1 BOS and MS_OS_2.0 descriptors have been added. Still more descriptor work TODO. 2021-01-26 20:43:19 -06:00
Hosted Weblate
c1b1ddd724
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-27 02:31:39 +01:00
Hosted Weblate
83a99cbc33 Merge remote-tracking branch 'origin/main' into main 2021-01-27 02:31:37 +01:00
Maciej Stankiewicz
2918b73828
Translated using Weblate (Polish)
Currently translated at 67.7% (626 of 924 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2021-01-27 02:31:36 +01:00
Scott Shawcroft
45b3c9ae42
Merge pull request #4068 from jepler/update-protomatter-tiling
protomatter: Update to version that supports tiling
2021-01-26 17:31:26 -08:00
Kevin Banks
b152c658e2 Making WebUSB default to off (build unbreakage, caught by CI) 2021-01-26 18:18:39 -06:00
189ec2fc60 Disallow tile=0 2021-01-26 16:51:31 -06:00
Hosted Weblate
85508d7cc1
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-26 22:08:06 +01:00
Scott Shawcroft
351a0e747d
Merge pull request #4047 from kmatch98/esp32s2_ParallelBus
Add initial ParallelBus support for ESP32-S2
2021-01-26 13:07:58 -08:00
1c10ec99a7 make translate 2021-01-26 15:04:45 -06:00
20c9f25a65 rgbmatrix: Eliminate some duplicated height-calculating code
This was hard to write, so let's have it written in 2 places instead
of 4.
2021-01-26 14:35:26 -06:00
368977fb90 RGBMatrix: Additional tile tweaks
* Introduce explicit serpentine: bool argument instead of using negative
   numbers (thanks, ghost of @tannewt sitting on one shoulder)
 * Fix several calculations of height

Testing performed (matrixportal):
 * set up a serpentine 64x64 virtual display with 2 64x32 tiles
 * tried all 4 rotations
 * looked at output of REPL
2021-01-26 14:33:48 -06:00
Dan Halbert
d116ad042f
Merge pull request #4070 from rpavlik/patch-1
Update design_guide.rst
2021-01-26 15:25:10 -05:00
Dan Halbert
29e672fe86
Merge pull request #4071 from tannewt/rp2040_uart_error
Raise an error on UART use
2021-01-26 15:22:02 -05:00
Lucian Copeland
815ab5277b Fix stubs error, out of sockets error, invalid TLS leak 2021-01-26 14:13:12 -05:00
Dan Halbert
a9227e15d0
Merge pull request #4063 from dhalbert/rp2040-gp15 2021-01-26 13:38:41 -05:00
Dan Halbert
13812a788f
Merge pull request #4060 from dhalbert/regularize-extmod-modules
CIRCUITPY_* switches for JSON, RE, etc. Doc cleanup
2021-01-26 12:54:21 -05:00
345c2ae8a9 make translate 2021-01-26 11:04:18 -06:00
Scott Shawcroft
b42e94ee2c
Raise an error on UART use 2021-01-26 08:48:30 -08:00
Ryan A. Pavlik
365fafb32b
Update design_guide.rst
Add CO2 as a member name, and clarify the description of eCO2.
2021-01-26 10:36:40 -06:00
root
ccdc97d23e Update documentation for microprossors with multiple cpus 2021-01-26 09:47:21 -06:00
Dan Halbert
f154ee855d shrink simmel 2021-01-26 10:23:37 -05:00
51f0544405 protmatter: Update to version that supports tiling 2021-01-26 09:19:44 -06:00
Dan Halbert
da6869dbd5 Set MICROPY_PY_UERRNO_ERRORCODE correctly 2021-01-26 08:37:05 -05:00
Dan Halbert
0ba49d7303 typo; thanks @Neradoc 2021-01-25 23:20:37 -05:00
Dan Halbert
5b4249e365 fix doc typos 2021-01-25 23:06:47 -05:00
Dan Halbert
a9f339b461 typo in circuitpy_mpconfig.h; forgot cxd56 port 2021-01-25 22:40:31 -05:00
Dan Halbert
be4cfdd3d6 Use TOTAL_GPIO_COUNT instead of magic number 30 2021-01-25 22:16:24 -05:00
Kevin Banks
fbfb7b68cc Most of the code we need has been pulled in from the tinyusb webusb_serial demo. Still LOTS to do regarding descriptors. 2021-01-25 20:37:58 -06:00
Kevin Matocha
61850acd14 Fixed bug in pin error handling, deleted debug prints 2021-01-25 16:51:12 -06:00
Scott Shawcroft
4241fd4b18
Merge pull request #4051 from jamesbowman/main
EVE: change fixed-point integer arguments to floating point
2021-01-25 14:44:48 -08:00
Scott Shawcroft
a2ac2da7cc
Merge pull request #3936 from gamblor21/busdevice_fixes
Changing adafruit_bus_device to duck typing
2021-01-25 14:41:53 -08:00
Scott Shawcroft
c075e89258
Merge pull request #4054 from dglaude/patch-1
Permit Gameduino 3X Dazzler support on Metro M4 AirLift Lite.
2021-01-25 14:33:00 -08:00
Kevin Matocha
4140012430 Allow pins >= 32, allow write pin on different register than data pins 2021-01-25 16:25:56 -06:00
Scott Shawcroft
6370e9d187
Merge pull request #4064 from kamtom480/spresense-sdk-2.0.2
Update Spresense SDK and fix USB CDC
2021-01-25 14:12:46 -08:00
Scott Shawcroft
ba84cff4cb
Merge pull request #4065 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-25 14:08:19 -08:00
Lucian Copeland
9f34ec78c4 Separate Socket and SSLSocket, add LWIP connect 2021-01-25 17:07:25 -05:00
Dan Halbert
0fa5aa359d Stop treating pin 15 specially. 2021-01-25 16:07:01 -05:00
hexthat
2a55ff73b1
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (923 of 923 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-01-25 20:32:11 +01:00
Jonny Bergdahl
d6c04e85d0
Translated using Weblate (Swedish)
Currently translated at 100.0% (923 of 923 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-01-25 20:32:10 +01:00
Kamil Tomaszewski
30a1c52e75 Update TinyUSB 2021-01-25 18:40:14 +01:00
Kamil Tomaszewski
c5992a3101 spresense: update Spresense SDK to 2.0.2 2021-01-25 18:40:14 +01:00
Dan Halbert
69c71bd522 fix some build errors 2021-01-25 11:54:10 -05:00
Dan Halbert
1e97d384ff add GP15 2021-01-25 11:02:32 -05:00
Dan Halbert
34d63debd5 Remove obsolete esp.rst, network.rst 2021-01-25 09:29:16 -05:00
Dan Halbert
69869e1439 CIRCUITPY_* switches for JSON, RE, etc. Doc cleanup 2021-01-24 23:10:20 -05:00
David Glaude
abd9f7894d
Permit Gameduino 3X Dazzler support on that board.
Totally untested, change request based on change made in #2581.
It might be my first PR in CircuitPython core...
Maybe this should be confirmed by @jamesbowman

Those are the two boards that seems supported:
* Metro M4 Express
* Metro nRF52840 Express

The only Metro that this PR concern:
* Metro M4 AirLift Lite

Other Metro I found and are maybe not supported:
* Metro ESP32-S2
* Metro M0 Express
* Metro M7 1011
2021-01-24 12:53:06 +01:00
Kevin Matocha
10965e5989 Delete unnecessary comments 2021-01-23 11:30:17 -06:00
Dan Halbert
97f5d218a5
Merge pull request #4052 from tannewt/get_pull
Fix DigitalInOut.pull on RP2040
2021-01-23 09:24:36 -05:00
Dan Halbert
dc421a6ca8 squeeze some builds 2021-01-23 06:18:15 -05:00
Kevin Matocha
34aa01c5f9 Remove redundant clear_write, add make translate 2021-01-22 22:29:51 -06:00
Scott Shawcroft
de6b05a17b
Fix DigitalInOut.pull on RP2040
It used to always return None.

Fixes #4035
2021-01-22 19:00:37 -08:00
James Bowman
dff3423c23 Change from fixed-point integer arguments to floating point in EVE API functions
Changed calls: PointSize(), LineWidth(), VertexTranslateX() and VertexTranslateY()
Units for all the above are now pixels, not fixed-point integers. This matches OpenGL.
Docstrings updated accordingly
2021-01-22 15:52:46 -08:00
Kevin Matocha
811a34fc3d Add initial ParallelBus support for ESP32-S2 2021-01-22 14:42:09 -06:00
Dan Halbert
0dfa9fb7c1
Merge pull request #4043 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-22 12:32:27 -05:00
Dan Halbert
8c49c8df0a shrink arduino_mkr1300 2021-01-22 11:26:33 -05:00
Hosted Weblate
d08f991299
Merge branch 'origin/main' into Weblate. 2021-01-22 16:30:25 +01:00
Wellington Terumi Uemura
4e11e2d584
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (923 of 923 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-01-22 16:30:25 +01:00
Dan Halbert
f50edc2904
Merge pull request #4044 from DavePutz/rp2040_longint
RP2040 longint support
2021-01-22 10:30:12 -05:00
Kevin Banks
9ce33a5771 Now generates the WebUSB URL Descriptor. Still need to generate the Vendor Descriptors. 2021-01-22 08:16:10 -06:00
Hosted Weblate
19da28d817
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-22 11:48:31 +01:00
Hosted Weblate
64e06ccf51
Merge branch 'origin/main' into Weblate. 2021-01-22 11:48:29 +01:00
Dan Halbert
ec8a42d7c9
Merge pull request #4017 from anecdata/connect
ESP32-S2 wifi radio: check whether already connected before trying to connect
2021-01-22 05:48:18 -05:00
Dan Halbert
f72c1474c5
Merge branch 'main' into connect 2021-01-22 03:56:57 -05:00
Dan Halbert
d74097c8a7 update github actions cache key for xtensa build 2021-01-22 03:54:51 -05:00
Hosted Weblate
9dbf2039f2
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-22 09:49:34 +01:00
Hosted Weblate
380338f113
Merge branch 'origin/main' into Weblate. 2021-01-22 09:49:32 +01:00
Wellington Terumi Uemura
500512fb53
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (920 of 920 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-01-22 09:49:32 +01:00
Dan Halbert
e3275be8b1
Merge pull request #3911 from hugodahl/add-translation-for-builtin-object-help
Update built-in help output for localization (Issue #3907)
2021-01-22 03:49:19 -05:00
Dan Halbert
63b5e56c72 shrink feather_m0_adalogger and gemma_m0 2021-01-21 23:49:49 -05:00
Dan Halbert
e8e8c593ac move longint choice to mpconfigport.mk 2021-01-21 22:50:15 -05:00
Hosted Weblate
4ae122f17b
Merge branch 'origin/main' into Weblate. 2021-01-22 00:17:01 +01:00
Scott Shawcroft
10a44af536
Merge pull request #3980 from anecdata/reasons2
ESP32-S2 update docs to match code usage of IPPROTO_*
2021-01-21 15:16:55 -08:00
Dan Halbert
ea9fe24971 shrink arduino_mkrzero build 2021-01-21 18:02:35 -05:00
root
f39ca0a1d6 Adding longing support on RP2040 2021-01-21 16:42:16 -06:00
root
3aab17c98e Adding longint support on RP2040 2021-01-21 16:40:57 -06:00
Hosted Weblate
2c086d68f8
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-21 23:25:25 +01:00
Hosted Weblate
e30bd35423
Merge branch 'origin/main' into Weblate. 2021-01-21 23:25:22 +01:00
hexthat
7263302c8c
Translated using Weblate (Chinese (Pinyin))
Currently translated at 95.1% (872 of 916 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-01-21 23:25:22 +01:00
hierophect
f88a896c03
Merge pull request #3854 from hierophect/esp-tcpserver
ESP32S2: Implement TCP Server bindings
2021-01-21 17:25:14 -05:00
DavePutz
6043fdf940
Merge pull request #39 from adafruit/main
Merge from adafruit main for RP2040
2021-01-21 16:07:24 -06:00
Dan Halbert
2249a33203
Merge pull request #4031 from tannewt/rp2040
Add initial RP2040 support
2021-01-21 16:54:37 -05:00
Dan Halbert
9b8246f889 shrink sparkfun_samd21_dev de_DE build 2021-01-21 15:56:30 -05:00
anecdata
1f6cd496c7 1. check enabled before scan; 2. make start-station() the single control point for esp_wifi_set_mode() 2021-01-21 13:54:19 -06:00
Scott Shawcroft
b73b30ff9f
Switch to upstream TinyUSB 2021-01-21 11:33:13 -08:00
Scott Shawcroft
af8cc9345d
Fix ESP build 2021-01-21 10:24:21 -08:00
Scott Shawcroft
b7a63dc498
Alphabetical 2021-01-21 10:18:04 -08:00
Scott Shawcroft
b47fd08b20
copy editing 2021-01-21 10:17:40 -08:00
Dan Halbert
dbd5b7d9f0
Change xtensa cache key
again, we need to stop using a bad cache for ESP32-S2 builds
2021-01-21 07:29:54 -05:00
Scott Shawcroft
b0f7fd933f
type fix 2021-01-20 23:33:00 -08:00
Scott Shawcroft
6a6f22b0e6
pre-commit 2021-01-20 23:30:15 -08:00
Scott Shawcroft
fb1e0106b5
Fix press any key message 2021-01-20 19:16:56 -08:00
Scott Shawcroft
48721584f9
Temporarily turn off string op overflow check 2021-01-20 19:16:56 -08:00
Scott Shawcroft
2b4ad1ed03
Fix warnings that come from -O3 (I think) 2021-01-20 19:16:56 -08:00
Scott Shawcroft
733094aead
Add initial RP2040 support
The RP2040 is new microcontroller from Raspberry Pi that features
two Cortex M0s and eight PIO state machines that are good for
crunching lots of data. It has 264k RAM and a built in UF2
bootloader too.

Datasheet: https://pico.raspberrypi.org/files/rp2040_datasheet.pdf
2021-01-20 19:16:56 -08:00
Kevin Banks
84d7a0da9d Initial steps, mostly via clone and modify. 2021-01-20 20:24:42 -06:00
Scott Shawcroft
eff68b0d9f
Merge pull request #4011 from dheera/main
prevents going into safe mode for watchdog resets
2021-01-20 11:30:12 -08:00
Scott Shawcroft
333c932adf
Merge pull request #4008 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-20 11:20:55 -08:00
Enrique Casado
984f1a1af5
Merge pull request #8 from adafruit/main
Merge latest changes
2021-01-20 13:42:11 +01:00
Hosted Weblate
328d1ee592
Merge branch 'origin/main' into Weblate. 2021-01-20 03:41:56 +01:00
Scott Shawcroft
f1e4960d14
Merge pull request #4019 from mrangen/QSPI-comment-fix
Fixed comment in mpconfigboard.h
2021-01-19 18:41:50 -08:00
Hosted Weblate
15a6e8c136
Merge branch 'origin/main' into Weblate. 2021-01-20 03:40:05 +01:00
Maciej Stankiewicz
a805ff45b2
Translated using Weblate (Polish)
Currently translated at 68.0% (623 of 916 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2021-01-20 03:40:04 +01:00
Scott Shawcroft
54e2f85c9b
Merge pull request #4022 from iot49/cp-msgpack
msgpack updates: handle exttype & chunk long reads
2021-01-19 18:39:57 -08:00
Hosted Weblate
47be90fbb3
Merge branch 'origin/main' into Weblate. 2021-01-19 19:02:06 +01:00
Dan Halbert
409b5ff009
Merge pull request #4028 from djix123/stm32411ce_blackpill_haxpress
Add support for a 'haxpress' external SPI flash build for stm32f411ce Black Pill board
2021-01-19 13:01:56 -05:00
Jonathan Giles
55c6d3e92f 1. Rename 'stm32f411ce_blackpill_haxpress' to 'stm32f411ce_blackpill_with_flash'
2. Add 'W25Q64JV_IQ' to flash chip list (as per commercial version)
2021-01-19 11:48:15 -05:00
djix123
b4bdf55eda
Update ports/stm/boards/stm32f411ce_blackpill_haxpress/mpconfigboard.mk
Update PID for _with_flash version to resolve duplicate PID issue

Co-authored-by: Dan Halbert <halbert@halwitz.org>
2021-01-19 11:35:52 -05:00
djix123
4804032f09
Update ports/stm/boards/stm32f411ce_blackpill_haxpress/mpconfigboard.mk
Change name from _haxpress to _with_flash

Co-authored-by: Dan Halbert <halbert@halwitz.org>
2021-01-19 11:35:03 -05:00
djix123
c8046af6e7
Update ports/stm/boards/stm32f411ce_blackpill_haxpress/mpconfigboard.h
Change name from _haxpress to _with_flash

Co-authored-by: Dan Halbert <halbert@halwitz.org>
2021-01-19 11:34:47 -05:00
djix123
35c836f096
Update .github/workflows/build.yml
Change name from _haxpress to _with_flash

Co-authored-by: Dan Halbert <halbert@halwitz.org>
2021-01-19 11:32:41 -05:00
Hosted Weblate
0240ab9f7a
Merge branch 'origin/main' into Weblate. 2021-01-19 15:17:34 +01:00
Jeff Epler
914326872f
Merge pull request #4021 from dhalbert/esp32-s2-touch-init-order
ESP32-S2: Initialize touch in proper order
2021-01-19 08:17:27 -06:00
Jonathan Giles
368751b6e9 Add support for a 'haxpress' external SPI flash build for the stm32f411ce blackpill board 2021-01-19 07:48:52 -05:00
Jonathan Giles
ebb4df846f Add support for a 'haxpress' external SPI flash build for the stm32f411ce blackpill board 2021-01-19 07:46:59 -05:00
Hugo Dahl
7076da3040
Merge branch 'main' of https://github.com/adafruit/circuitpython into add-translation-for-builtin-object-help
* 'main' of https://github.com/adafruit/circuitpython:
  Revert "UMFEATHERS2 - implement use of DotStar for status led"
  fix doc build
  Update to 1.7.1
  Set year from execution date
  Hard code new copyright date
  Update translations
  ulab: update to 1.7.0
  Rename to match WIFI_REASON. Also include specific error code in "Unknown failure" Exception.
  Include all reason codes.
  Rename to match WIFI_REASON. Also return specific reason code.
  Retry on all disconnect reasons other than: 2 exception reasons & 1 manual disconnect reason.
2021-01-19 05:48:17 -06:00
anecdata
672d0e27a3 make translate 2021-01-18 19:57:13 -06:00
anecdata
a01ff658ea fix case of connecting when wifi is stopped 2021-01-18 19:57:01 -06:00
Bernhard Boser
e27dd26dc7 make translate, BEWARE adds the 'world' 2021-01-18 11:26:39 -08:00
Bernhard Boser
1e88b9411d rebase (main) & make translate 2021-01-18 10:21:27 -08:00
Bernhard Boser
41459d15d9 handle exttype & chunk long reads 2021-01-18 10:13:16 -08:00
Dan Halbert
ee48e4b452 ESP32-S2: Initialize touch in proper order 2021-01-18 11:52:03 -05:00
mrangen
dea2bcd8f0 Fixed comment in mpconfigboard.h 2021-01-17 21:20:27 -07:00
Bernhard Boser
07a9593abc add flow control info to busio_uart_obj_t 2021-01-17 19:33:32 -08:00
Bernhard Boser
e867d1915e make translate 2021-01-17 19:30:41 -08:00
anecdata
c524900a1b check connected before connecting 2021-01-17 20:21:31 -06:00
Hosted Weblate
6710d737d6
Merge branch 'origin/main' into Weblate. 2021-01-17 13:55:39 +01:00
Jonny Bergdahl
a2a32907eb
Translated using Weblate (Swedish)
Currently translated at 100.0% (916 of 916 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-01-17 13:55:39 +01:00
Wellington Terumi Uemura
4b23a7872b
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (916 of 916 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-01-17 13:55:39 +01:00
Hugo Dahl
377cb517cf
Translated using Weblate (French)
Currently translated at 100.0% (916 of 916 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-01-17 13:55:38 +01:00
Dan Halbert
6a76b60027
Merge pull request #4013 from adafruit/revert-3930-jerryn_feathers2_led
Revert "UMFEATHERS2 - implement use of DotStar for status led"
2021-01-17 07:55:25 -05:00
jerryneedell
a9389343a8
Revert "UMFEATHERS2 - implement use of DotStar for status led" 2021-01-17 05:15:19 -05:00
gamblor21
41b9196167 Disabling in more small boards 2021-01-17 00:00:06 -06:00
dheera
d43eb7e84b prevents going into safe mode for watchdog resets 2021-01-16 17:38:08 -08:00
gamblor21
49e059cdaf Removing frozen libraries 2021-01-16 16:37:42 -06:00
gamblor21
f50c9f4145 Reenabling busdevice in core 2021-01-16 14:21:57 -06:00
gamblor21
d3995eaf97 Fixes from draft PR 2021-01-16 14:21:57 -06:00
gamblor21
b609bc0124 Removed unused include 2021-01-16 14:21:57 -06:00
gamblor21
ea0e2f80b7 Changing to duck-typing 2021-01-16 14:21:57 -06:00
Hosted Weblate
0e3da9b6a3
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-15 20:52:42 +01:00
Hosted Weblate
239f73f42d
Merge branch 'origin/main' into Weblate. 2021-01-15 20:52:40 +01:00
Scott Shawcroft
816cbe4704
Merge pull request #3992 from anecdata/reason4
wifi: more disconnect reasons for retries & include error code in exception
2021-01-15 11:52:34 -08:00
Hosted Weblate
fe5acae318
Merge branch 'origin/main' into Weblate. 2021-01-15 20:51:58 +01:00
Scott Shawcroft
fac4d9c5b9
Merge pull request #4006 from hugodahl/Update-documentation-copyright-date
Update documentation copyright date (Closes #4000)
2021-01-15 11:51:52 -08:00
Hosted Weblate
cab9139975
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-15 20:49:34 +01:00
Hosted Weblate
a9a776890c
Merge branch 'origin/main' into Weblate. 2021-01-15 20:49:31 +01:00
oon arfiandwi
05cc67f537
Translated using Weblate (Indonesian)
Currently translated at 49.1% (449 of 913 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2021-01-15 20:49:31 +01:00
Scott Shawcroft
03e9415b86
Merge pull request #4005 from jepler/update-ulab-1.7.0
ulab: update to 1.7.1
2021-01-15 11:49:04 -08:00
Jeff Epler
c843122d3d fix doc build 2021-01-15 12:00:29 -06:00
Lucian Copeland
4bc664fe5f Merge remote-tracking branch 'upstream/main' into esp-tcpserver 2021-01-15 12:02:16 -05:00
Jeff Epler
a98df7209d Update to 1.7.1 2021-01-15 09:50:58 -06:00
Hugo Dahl
8094435193
Merge branch 'main' of https://github.com/adafruit/circuitpython into add-translation-for-builtin-object-help 2021-01-14 22:12:30 -06:00
Hugo Dahl
d88bb0b09b
Set year from execution date
Set the date (year) of the copyright notice to be the current year at
the time the documentation is generated.
2021-01-14 18:16:35 -06:00
Hugo Dahl
d85e071616
Hard code new copyright date 2021-01-14 18:06:49 -06:00
anecdata
564dce858f Update translations 2021-01-14 17:53:37 -06:00
Dan Halbert
c4f0325ff8
Merge pull request #3991 from TG-Techie/main
Revision to TG-Watch
2021-01-14 18:43:52 -05:00
Dan Halbert
8c0a9a2486
Merge pull request #4004 from jepler/fix-parallel-build-main
ports/unix: Fix parallel build problem
2021-01-14 18:00:46 -05:00
Dan Halbert
0ef73fba54
Merge pull request #4002 from jepler/update-uzlib
update uzlib to v2.9.5
2021-01-14 17:11:53 -05:00
Scott Shawcroft
e6b49d95ee
Merge pull request #3993 from dhalbert/gattc-write-lengths
don't check length for remote characteristic or descriptor
2021-01-14 12:56:29 -08:00
Dan Halbert
59003e96af
Merge pull request #4001 from dhalbert/magtag-a1-pin
MagTag: Add pin A1 as alias for AD1; A1 is preferred
2021-01-14 15:54:37 -05:00
Jeff Epler
ad87f37689 ulab: update to 1.7.0 2021-01-14 14:16:11 -06:00
059363f0e2 ports/unix: Fix parallel build problem
This is the same as I added to mpy-cross at e666e86035, see #3074
2021-01-14 14:13:31 -06:00
Jeff Epler
8e51139da0 update uzlib to v2.9.5
uzlib isn't actually used in any firmwares, but is built into the
"unix" port used for testing.

The main benefit of the update is to fix problems encountered on
Windows, as the old ref of uzlib had filenames with embedded colons;
this has been fixed upstream.

uzlib seems to have been reabsed since the version that we took; this
doesn't really matter to us.
2021-01-14 13:45:42 -06:00
Dan Halbert
aedc8efeda Add pin A1 as alias for AD1; A1 is preferred 2021-01-14 14:43:47 -05:00
Dan Halbert
90a6581acb
Merge pull request #3997 from dhalbert/change-xtensa-build-cache-key
change extensa github actions cache key to avoid bad cache
2021-01-14 14:20:26 -05:00
Dan Halbert
54cc9ab4b9 change extensa github actions cache key to avoid bad cache 2021-01-14 11:29:21 -05:00
Dan Halbert
b05c6bac21 change extensa github actions cache key to avoid bad cache 2021-01-14 11:04:36 -05:00
DavePutz
e424c84249
Merge pull request #38 from adafruit/main
Update from adafruit main
2021-01-14 10:01:03 -06:00
Lucian Copeland
287770f885 Merge remote-tracking branch 'upstream/main' into esp-tcpserver 2021-01-14 10:21:08 -05:00
anecdata
8febdee264 Rename to match WIFI_REASON. Also include specific error code in "Unknown failure" Exception. 2021-01-13 23:47:23 -06:00
anecdata
d1249fbe47 Include all reason codes. 2021-01-13 23:46:52 -06:00
anecdata
f75bb5c50f Rename to match WIFI_REASON. Also return specific reason code. 2021-01-13 23:46:35 -06:00
anecdata
e519dd3c52 Retry on all disconnect reasons other than: 2 exception reasons & 1 manual disconnect reason. 2021-01-13 23:45:59 -06:00
Jonah Yolles-Murphy
c63d5a44a0 restore TG-Watch USB_PID from accidental overwrite 2021-01-14 00:08:34 -05:00
Jonah Yolles-Murphy
5f8ad0c5e6 correct USB_PRODUCT for TG-Watch 2021-01-14 00:02:56 -05:00
Jonah Yolles-Murphy
8f8af90098 final name and extra board 2021-01-13 23:51:34 -05:00
Jeff Epler
47015d7789
Merge pull request #3974 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-13 20:57:24 -06:00
Lucian Copeland
37a8c1c575 Complete non-blocking implementations, add socket close checking 2021-01-13 19:05:07 -05:00
Dan Halbert
ccace62ac9 don't check length for remote characteristic or dedescriptor 2021-01-13 15:35:51 -05:00
anecdata
e703e06595
Update shared-bindings/socketpool/SocketPool.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-01-13 11:17:37 -06:00
Hosted Weblate
3c474204a4
Merge branch 'origin/main' into Weblate. 2021-01-13 17:08:20 +01:00
Dan Halbert
92a4398996
Merge pull request #3982 from jepler/esp32s2-make-flash
esp32s2: Fix 'make flash'
2021-01-13 11:08:15 -05:00
Hosted Weblate
a1d685b947
Merge branch 'origin/main' into Weblate. 2021-01-13 17:07:47 +01:00
Hugo Dahl
b4eb46b9ef
Translated using Weblate (French)
Currently translated at 100.0% (913 of 913 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-01-13 17:07:47 +01:00
Dan Halbert
8f9db7717e
Merge pull request #3985 from jepler/revert-precommit-translate
Revert "pre-commit: Add checking of 'make translate' status"
2021-01-13 11:07:41 -05:00
Hosted Weblate
1d75e55bb5
Merge branch 'origin/main' into Weblate. 2021-01-13 03:19:48 +01:00
Jeff Epler
c44c99398d
Merge pull request #3983 from dhalbert/6.1.0-shrink-builds
shrink some de_DE builds
2021-01-12 20:19:43 -06:00
Hosted Weblate
35a10952b2
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-13 03:19:08 +01:00
Hosted Weblate
e33a421785
Merge branch 'origin/main' into Weblate. 2021-01-13 03:19:06 +01:00
Wellington Terumi Uemura
0a13eff940
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (913 of 913 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-01-13 03:19:06 +01:00
Jeff Epler
8d24e72981
Merge pull request #3978 from ladyada/neotrinkey
samd21 board with only 4 neopixels + two touchpads
2021-01-12 20:19:01 -06:00
88ce6911b7 Revert "pre-commit: Add checking of 'make translate' status"
This reverts commit 1dda33dc41.
2021-01-12 18:52:39 -06:00
Dan Halbert
5e52ca0530 make translate 2021-01-12 18:41:50 -05:00
Dan Halbert
4b30412871 shrink some de_DE builds 2021-01-12 18:23:37 -05:00
f95d10b2a6 make translate 2021-01-12 16:30:20 -06:00
ed0cb248e9 esp32s2: Fix 'make flash'
As reported by @jerryneedell, this change was incorrect; the given
ESPTOOL_FLAGS caused `write_flash` to be repeated twice, which doesn't
work.

Closes #3981.
2021-01-12 16:04:29 -06:00
Lucian Copeland
4cdb298a20 WIP of non-blocking calls 2021-01-12 15:05:28 -05:00
anecdata
f07dd487af change IPPROTO_* comments to match usage in current shared-bindings and common-hal code 2021-01-12 13:49:50 -06:00
Hosted Weblate
a07b59552d
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-12 19:25:50 +01:00
Hosted Weblate
9b6cad380a
Merge branch 'origin/main' into Weblate. 2021-01-12 19:25:48 +01:00
Dan Halbert
f9c762256f
Merge pull request #3733 from jepler/audioout-esp32
esp32s2: Add I2SAudioOut
2021-01-12 13:25:40 -05:00
Hosted Weblate
1b54597789
Merge branch 'origin/main' into Weblate. 2021-01-12 19:01:57 +01:00
Dan Halbert
4be5e914ac
Merge pull request #3966 from dhalbert/samd-dac-channels
fix atmel-samd DAC channel selection logic
2021-01-12 13:01:50 -05:00
lady ada
748d44892d fix some precommit complaints 2021-01-12 12:55:02 -05:00
lady ada
f7f97ae1b7 samd21 board with only 4 neopixels + two touchpads 2021-01-12 12:50:08 -05:00
Hosted Weblate
db40f004c2
Merge branch 'origin/main' into Weblate. 2021-01-12 17:26:38 +01:00
Scott Shawcroft
bfdaa6eb9c
Merge pull request #3959 from ladyada/main
try adding new feather def
2021-01-12 08:26:29 -08:00
Hosted Weblate
af4732a716
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-12 16:40:07 +01:00
Hosted Weblate
b8fa8198f0
Merge branch 'origin/main' into Weblate. 2021-01-12 16:40:04 +01:00
Hugo Dahl
1f53d5a4b9
Translated using Weblate (French)
Currently translated at 100.0% (898 of 898 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-01-12 16:40:04 +01:00
Dan Halbert
679b465d96
Merge pull request #3969 from microDev1/TouchAlarm
Fixes and Enhancement for Touch Alarm
2021-01-12 10:39:55 -05:00
1ca29ec47c Merge remote-tracking branch 'origin/main' into audioout-esp32 2021-01-12 09:23:07 -06:00
Hugo Dahl
87849fb62c
Fix pre-commit hook issue 2021-01-12 07:31:56 -06:00
microDev
cd16f29efd
Merge branch 'main' into TouchAlarm 2021-01-12 18:28:38 +05:30
Hugo Dahl
5949516ece
Update circuitpython.pot
Fix missing closing quote
2021-01-11 20:46:02 -06:00
Hosted Weblate
bc3a40f967
Merge branch 'origin/main' into Weblate. 2021-01-12 01:56:23 +01:00
Dan Halbert
047708e36e
Merge pull request #3973 from kattni/update-code-py
Update created code.py file formatting.
2021-01-11 19:56:18 -05:00
Hosted Weblate
9bdae2f1a6
Merge branch 'origin/main' into Weblate. 2021-01-12 01:52:22 +01:00
Scott Shawcroft
4db55652a3
Merge pull request #3964 from dhalbert/ble-timing-fixes
Round BLE timing values; fix timeout check
2021-01-11 16:52:14 -08:00
Hugo Dahl
2d8404c599
Merge branch 'main' into add-translation-for-builtin-object-help 2021-01-11 18:32:07 -06:00
Hosted Weblate
8b26caea30
Merge branch 'origin/main' into Weblate. 2021-01-12 01:14:11 +01:00
Scott Shawcroft
2e1d3320b4
Merge pull request #3972 from jepler/update-ulab-1.6.1
ulab: bump to version 1.6.1
2021-01-11 16:14:05 -08:00
Dan Halbert
452d66dd0e
Update ports/atmel-samd/common-hal/analogio/AnalogOut.c
whoops, yes!

Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-01-11 19:12:52 -05:00
Hosted Weblate
ceb81b0ce9
Merge branch 'origin/main' into Weblate. 2021-01-12 01:05:33 +01:00
Scott Shawcroft
081249f796
Merge pull request #3944 from BennyE/wifi-authmode
esp32-s2: Adding authmode keyword
2021-01-11 16:05:28 -08:00
Hosted Weblate
7709327873
Merge branch 'origin/main' into Weblate. 2021-01-12 01:03:23 +01:00
Scott Shawcroft
3cf4d9c57f
Merge pull request #3954 from anecdata/mpconfigport
ESP32-S2: added sys.platform
2021-01-11 16:03:17 -08:00
Hosted Weblate
c784edf24d
Merge branch 'origin/main' into Weblate. 2021-01-12 00:44:28 +01:00
Scott Shawcroft
b669b622a3
Merge pull request #3291 from dhalbert/robots.txt
add robots.txt to specify doc versions to appear in search engines
2021-01-11 15:44:21 -08:00
Hosted Weblate
ddddaf06e2
Merge branch 'origin/main' into Weblate. 2021-01-12 00:36:19 +01:00
Scott Shawcroft
ba507a8193
Merge pull request #3957 from dhalbert/gcc10-debug-builds
new CIRCUITPY_DEBUG flag passes DEBUG into C preprocessor
2021-01-11 15:36:12 -08:00
Hosted Weblate
d0527dd36c
Merge branch 'origin/main' into Weblate. 2021-01-12 00:34:09 +01:00
Scott Shawcroft
10093d37c5
Merge pull request #3960 from dhalbert/pwmout-tcc-resolution
Look up TCC resolution as necessary
2021-01-11 15:33:59 -08:00
Hosted Weblate
43e0cd59ad
Merge branch 'origin/main' into Weblate. 2021-01-12 00:29:55 +01:00
Scott Shawcroft
a92712acc5
Merge pull request #3949 from jepler/pre-commit-translations
pre-commit: Add check for translations being up to date
2021-01-11 15:29:50 -08:00
Hosted Weblate
6b260e6184
Merge branch 'origin/main' into Weblate. 2021-01-12 00:29:15 +01:00
Scott Shawcroft
3a7755b311
Merge pull request #3930 from jerryneedell/jerryn_feathers2_led
UMFEATHERS2 - implement use of DotStar for status led
2021-01-11 15:29:09 -08:00
Hosted Weblate
0bc5461dc7
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-12 00:22:49 +01:00
Scott Shawcroft
91245297e8
Merge pull request #3659 from iot49/msgpack
module msgpack
2021-01-11 15:22:39 -08:00
Scott Shawcroft
1fb3d2448c
Merge pull request #3958 from dhalbert/sleep_memory-len-and-bool
restore len(alarm.sleep_memory) and bool(alarm.sleep_memory)
2021-01-11 15:21:54 -08:00
Scott Shawcroft
b0eb91dfef
Merge pull request #3955 from caiokat/fix_recvfrom_into
Fix socket.recvfrom_into()
2021-01-11 15:20:56 -08:00
Scott Shawcroft
1c12d8351c
Merge pull request #3953 from dhalbert/update-tinyusb-to-fix-_ticks_enabled
update tinyusb; _ticks_enabled only for SAMD21
2021-01-11 15:17:15 -08:00
Scott Shawcroft
95d32a9a59
Merge pull request #3946 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-11 15:15:46 -08:00
Kattni Rembor
09596ddca2 Adding escape characters. 2021-01-11 16:26:27 -05:00
Kattni Rembor
9e9291777f Update created code.py file formatting. 2021-01-11 16:09:05 -05:00
0593e464bf ulab: bump to version 1.6.1 2021-01-11 13:52:46 -06:00
microDev
5f448139e0
fixes and enhancement for touch alarm
- prevent touch alarm initialization if not set
- fix wake_alarm is set to touch alarm on autoreload
- add ability to have multiple touch alarms in light sleep
2021-01-11 15:30:45 +05:30
Dan Halbert
316bd0c72d fix atmel-samd DAC channel selection logic 2021-01-10 19:22:15 -05:00
Dan Halbert
6928de0364 merge from upstream and update to 6.0.x 2021-01-10 13:54:08 -05:00
Dan Halbert
ce59b54361 Merge remote-tracking branch 'adafruit/main' into robots.txt 2021-01-10 13:52:47 -05:00
Dan Halbert
a397af9bdf Round BLE timing values; fix timeout check 2021-01-10 13:16:19 -05:00
lady ada
c87e1a6527 ok lets try without auto-display 2021-01-10 11:58:39 -05:00
BennyE
53e4d78a3c
Update ports/esp32s2/common-hal/wifi/Network.c
Avoid to use yet another variable.

Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-01-10 17:18:43 +01:00
Jonah Yolles-Murphy
8652d69614 update TG-Watch pins, name, and frozen libraries 2021-01-10 04:04:50 -05:00
lady ada
d036620c70 compilier 2021-01-09 23:19:04 -05:00
lady ada
5b9ce9e7cf fix dup usb 2021-01-09 22:42:43 -05:00
lady ada
b5b0d45b73 add tft 2021-01-09 22:36:54 -05:00
lady ada
68a5e6dcba copypaste typo 2021-01-09 15:52:58 -05:00
Dan Halbert
908e02439d Look up TCC resolution as necessary 2021-01-09 15:04:23 -05:00
e20c65d8f0 background tasks: Add, use port_wake_main_task
Some ports need an extra operation to ensure that the main task is
awoken so that a queued background task will execute during an ongoing
light sleep.

This removes the need to enable supervisor ticks while I2SOut is operating.

Closes: #3952
2021-01-09 14:02:47 -06:00
4735cf4747 esp32s2: audiobusio: move i2s_common inside
Originally, I believed the implementation might be shared with AudioOut,
as on the ESP32 (non-S2) the I2S peripheral was also used to drive the DAC.
However, this is not the case on ESP32-S2 and appears it will not be
the case with the ESP32-S3 or -C3, to the extent that there's skeletal
support for either of them in esp-idf master branch.

However, it could still be shared by I2SIn or PDMIn (the latter being
hypothetically implemented as I2SIn + digital postprocessing like we did
in the atmel-sam port, to my understanding), so I moved it to
the common-hal folder.
2021-01-09 14:02:47 -06:00
10861b4038 esp32s2: Rename ESP_CALL_RAISE to CHECK_ESP_RESULT
Suggested by @tannewt, thanks!
2021-01-09 13:41:44 -06:00
lady ada
a600fd3478 forgot deinit 2021-01-09 14:01:58 -05:00
lady ada
301facf102 newline 2021-01-09 13:36:21 -05:00
lady ada
7de1da45da woops out of sync header, plus... i dunno add some frozen modules cause we have almost no RAM :( 2021-01-09 13:23:17 -05:00
lady ada
813fa671f3 nowhitespace 2021-01-09 12:29:08 -05:00
Limor "Ladyada" Fried
9253351fa4
Merge branch 'main' into main 2021-01-09 12:25:16 -05:00
lady ada
999ee68e12 try adding new feather def 2021-01-09 12:22:53 -05:00
foamyguy
13efbf24e5 disable msgpack on boards without room 2021-01-09 10:33:56 -06:00
Dan Halbert
255ffa979c avoid inline compile errors 2021-01-08 23:07:21 -05:00
Dan Halbert
dd10c534c5 restore len(alarm.sleep_memory) and bool(alarm.sleep_memory) 2021-01-08 22:32:23 -05:00
288c54c70a need to find strings in ulab 2021-01-08 18:54:08 -06:00
96dd3d3fef ensure gettext program is available to pre-commit 2021-01-08 18:21:27 -06:00
Caio Henrique de Queiroz Katayama
7b4558b750 Fix socket.recvfrom_into() 2021-01-08 19:17:17 -05:00
anecdata
06ab848a0d added platform 2021-01-08 16:48:25 -06:00
jerryneedell
de5b138dcf remove commented line 2021-01-08 14:46:37 -05:00
jerryneedell
7556f38f04 initialize LDO2 in board_init() 2021-01-08 14:40:06 -05:00
Dan Halbert
39c166ba6a update tinyusb; _ticks_enabled only for SAMD21 2021-01-08 13:30:11 -05:00
5f0e41ad60 I2SOut: Enable ticks during audio playback
.. otherwise, the background callback to load the I2S fifos does not get
run.  (I'm not sure this is _correct_ behavior of sleep + background
tasks, but it is the current behavior)
2021-01-08 09:01:34 -06:00
430bcdb59d port_i2s_play: fill the initial buffer via background callback
There were _possibly_ problems where this routine was being entered
by direct call AND by background callback.  Schedule the work here,
and it will be done almost immediately, without worry about interference.
I don't know if this is strictly necessary, but it doesn't hurt.  Since
the I2S clock is being run all the time, we have to enter the background
task to fill the FIFO with zeros constantly anyway.
2021-01-08 08:49:25 -06:00
12264cca34 port_i2s_play: remove build error 2021-01-08 08:47:13 -06:00
0b7a4c4b2b i2s_fill_buffer: remove debug print 2021-01-08 08:46:56 -06:00
873a300d02 i2s_fill_buffer: Need to fill with zeros when stopping 2021-01-08 08:46:41 -06:00
cfd8288dfa esp2s2: enlarge stack-buffer, use it instead of i2s_zero_dma_buffer
.. it's not clear that there was a problem with i2s_zero_dma_buffer, but
just in case.
2021-01-07 16:29:52 -06:00
d3afda61d8 esp32s2: i2s: must reset buffer, otherwise wave samples don't start
.. and other housekeeping when starting to play a sample
2021-01-07 16:29:08 -06:00
352226402c esp32s2: i2s: fix accounting for "stretched" frames 2021-01-07 16:28:33 -06:00
010a4e7b0f esp32s2: port: Ensure JTAG pins are available for debugging 2021-01-07 16:23:21 -06:00
Bernhard Boser
c7dc5f2507 support RTS/CTS hardware flow control 2021-01-07 14:13:19 -08:00
BennyE
115f3e0867 Updated code as per helpful suggestion 2021-01-07 23:05:16 +01:00
7bb196b9d2 esp32s2: 'make flash': Allow customizing the esptool flags
This can be useful so that e.g., on a Kaluga when programming via
the FTDI chip, you can override the variable to specify "--after=hard_reset"
to automatically return to running CircuitPython, choose a different
baud rate (921600 is about 2s faster than 460800), etc:
    make BOARD=espressif_kaluga_1 ESPTOOL_FLAGS="-b 921600 --before=default_reset --after=hard_reset"
2021-01-07 15:01:33 -06:00
1dda33dc41 pre-commit: Add checking of 'make translate' status
.. when this check completes with an error, circuitpython.pot has been updated
and the changes can be staged.
2021-01-07 14:42:12 -06:00
e79ee785ac circuitpython.pot: regenerate without timestamp 2021-01-07 14:41:49 -06:00
e4129ecf00 Makefile: Remove POT-Creation-Date from circuitpython.pot
This line is only a magnet for conflicts; the date that circuitpython.pot
was modified can be extracted from git metadata.  Additionally, when
we add "make translate" checking to pre-commit, this will avoid spurious
changes since the most straightforward implementation would otherwise
update this line every time pre-commit executed.
2021-01-07 14:41:29 -06:00
30c6dd3f76 Merge remote-tracking branch 'origin/main' into audioout-esp32 2021-01-07 14:11:14 -06:00
jerryneedell
6976ec6ef9 Merge remote-tracking branch 'upstream/main' into jerryn_feathers2_led 2021-01-07 15:02:40 -05:00
Hosted Weblate
b65d91dbeb
Merge branch 'origin/main' into Weblate. 2021-01-07 19:43:40 +01:00
Scott Shawcroft
55c80754c7
Merge pull request #3945 from 2bndy5/fix-table-in-a-readme
convert esp32s2 port readme to rst
2021-01-07 10:43:34 -08:00
Hosted Weblate
2719411405
Merge branch 'origin/main' into Weblate. 2021-01-07 19:31:39 +01:00
Scott Shawcroft
0b0b476be6
Merge pull request #3940 from caternuson/magtag_accelo_irq_pin
Add MagTag accelo IRQ pin
2021-01-07 10:31:33 -08:00
Hosted Weblate
0476e4f64b
Merge branch 'origin/main' into Weblate. 2021-01-07 19:01:44 +01:00
Dennis Schweer
a03f35e093
Translated using Weblate (German)
Currently translated at 84.4% (753 of 892 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/de/
2021-01-07 19:01:43 +01:00
Dan Halbert
5358524941
Merge pull request #3939 from dhalbert/tick-overflow
overflowed tick counter needs 64 bits everywhere
2021-01-07 13:01:30 -05:00
Hugo Dahl
30ed8d136c
Translated using Weblate (French)
Currently translated at 100.0% (892 of 892 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-01-07 02:29:18 +01:00
brendan
18122e0455 missed a couple inline code snippets 2021-01-06 15:28:19 -08:00
brendan
092331eee1 convert esp32s2 readme to rst 2021-01-06 15:19:40 -08:00
BennyE
66d87782be Adding authmode keyword 2021-01-06 23:52:30 +01:00
caternuson
9db0a4f265 add magtag accelo irq pin 2021-01-06 09:17:19 -08:00
Scott Shawcroft
cdad59fbc2
Fix doc build with extra blank lines 2021-01-06 09:03:58 -08:00
Scott Shawcroft
a33359762d
Merge pull request #3903 from anecdata/reasons
ESP32-S2: Log all Wi-Fi events & remove unneeded call
2021-01-06 08:41:19 -08:00
Dan Halbert
9a1d864331 overflowed tick counter needs 64 bits everywhere 2021-01-06 11:09:06 -05:00
jerryneedell
14e2a02c04 Merge remote-tracking branch 'upstream/main' into jerryn_feathers2_led 2021-01-06 05:47:37 -05:00
anecdata
98c9492a8c change ESP_EARLY_LOG* to ESP_LOG* throughout event_handler 2021-01-05 18:39:51 -06:00
Scott Shawcroft
7e59ff379b
Merge pull request #3921 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-05 15:09:17 -08:00
Hosted Weblate
8c25f54f38
Merge branch 'origin/main' into Weblate. 2021-01-05 22:04:09 +01:00
Dan Halbert
590fe8e8b1
Merge pull request #3934 from DavePutz/issue_3807
Issue 3931 - Onboard LEDs lighting up due to wrong memset size in board_reset_user_neopixels()
2021-01-05 16:04:03 -05:00
Hosted Weblate
9eb2ca02a5
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-05 22:03:19 +01:00
Hosted Weblate
03a6db36b4
Merge branch 'origin/main' into Weblate. 2021-01-05 22:03:17 +01:00
Jonny Bergdahl
794327254e
Translated using Weblate (Swedish)
Currently translated at 100.0% (892 of 892 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-01-05 22:03:17 +01:00
Wellington Terumi Uemura
0057e1dc2c
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (892 of 892 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-01-05 22:03:17 +01:00
Dan Halbert
69de4f913a
Merge pull request #3932 from kattni/circuit-playground-bus-device
Add adafruit_bus_device to CPX builds.
2021-01-05 16:03:06 -05:00
iot49
1a82555803
Merge branch 'main' into msgpack 2021-01-05 11:19:11 -08:00
Bernhard Boser
90a299bb1e added //| to (hopefully) get CI to pass 2021-01-05 11:17:09 -08:00
Bernhard Boser
79e3c3d2fd Merge branch 'msgpack' of github.com:iot49/iotpython into msgpack 2021-01-05 11:02:00 -08:00
DavePutz
ce55822680
Fix size of memset in board_reset_user_neopixels() 2021-01-04 15:50:09 -06:00
DavePutz
76e9f495c7
Merge pull request #37 from adafruit/main
update from adafruit main
2021-01-04 15:47:06 -06:00
Kattni Rembor
bbd4de33d1 Add adafruit_bus_device to CPX builds. 2021-01-04 15:53:39 -05:00
Hosted Weblate
4135ccb100
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-01-04 21:25:02 +01:00
Hosted Weblate
d2c71fd5a3
Merge branch 'origin/main' into Weblate. 2021-01-04 21:25:00 +01:00
Dan Halbert
f6f1ef7dc2
Merge pull request #3929 from jepler/update-ulab3
ulab: update to 1.6.0
2021-01-04 15:24:54 -05:00
f87ce01b8f make translate 2021-01-04 12:55:39 -06:00
09bf58407f ulab: update to 1.6.0
This fixes several problems I encountered.
2021-01-04 12:50:08 -06:00
jerryneedell
ec02102409 implment use of DotStar for staus led 2021-01-04 07:41:25 -05:00
Hosted Weblate
4a9f33a796
Merge branch 'origin/main' into Weblate. 2021-01-04 01:40:51 +01:00
Limor "Ladyada" Fried
dcf88e1e91
Merge pull request #3923 from bwshockley/Add_dotstar_mini_sam_m4
Add dotstar mini sam m4
2021-01-03 19:40:43 -05:00
Hosted Weblate
dfcdad3c81
Merge branch 'origin/main' into Weblate. 2021-01-04 01:40:42 +01:00
Limor "Ladyada" Fried
46ec95d297
Merge pull request #3925 from UnexpectedCircuitPython/main
Fixed incorrect pin assignment on header
2021-01-03 19:40:34 -05:00
Seon Rozenblum
10f178d162 Fixed incorrect pin assignment on header
IO13 is for blue LED
IO14 is the correct pin header between IO18 and IO12
The silk is wrong (shows IO13), but hardware is correct as IO14, but IO14 was not included in pins.c
Silk will be updated on next PCB production run
2021-01-04 10:06:32 +11:00
Jeff Epler
2a5f3de1cd Merge pull request #3608 from adafruit/6.0.x
Update main with latest 6.0.x
2021-01-04 09:52:42 +11:00
Hosted Weblate
d8721e3e2f
Merge branch 'origin/main' into Weblate. 2021-01-03 23:32:07 +01:00
Limor "Ladyada" Fried
d0e54993e9
Merge pull request #3914 from askpatrickw/feathers2-Nsync
Feathers2 nsync
2021-01-03 17:32:00 -05:00
Benjamin Shockley
9286f26831
Added CP Dotstart Lib to Build
Added the CircuitPython dotstar library to the Mini SAM M4 build so users do not have to include the library to utilize the built-in APA102 LED.
2021-01-03 10:42:58 -06:00
Benjamin Shockley
8c8961ad01
Merge pull request #3 from adafruit/main
Rebase
2021-01-03 10:41:16 -06:00
oon arfiandwi
9d5587fb08
Translated using Weblate (Indonesian)
Currently translated at 47.2% (421 of 891 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2021-01-03 06:29:12 +01:00
Dan Halbert
80fa60d4ef
Merge pull request #3915 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-01-02 13:05:02 -05:00
Hosted Weblate
3a51ffeb9d
Merge branch 'origin/main' into Weblate. 2021-01-02 04:03:54 +01:00
Dan Halbert
ad2ee0954c
Merge pull request #3917 from brrzap/fix-3753
pixelbuf: error check in brightness setter
2021-01-01 22:03:45 -05:00
askpatricw
2ce07209df changes based on UM's input 2021-01-01 17:23:11 -08:00
@brrzap
df4c028d29 _pixelbuf: error check in brightness setter (fix #3753) 2021-01-01 19:49:20 -05:00
Wellington Terumi Uemura
71cc9b60ea
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (891 of 891 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-01-01 05:29:12 +01:00
Hugo Dahl
80e5899b30
Translated using Weblate (French)
Currently translated at 100.0% (891 of 891 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2021-01-01 05:29:11 +01:00
askpatricw
220501e159 dupe LED entries 2020-12-31 18:02:44 -08:00
askpatricw
43f93b097f release and pre-release FeatherS2 NSync 2020-12-31 17:50:41 -08:00
Jeff Epler
d0bc5e4e57
Merge pull request #3909 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-12-31 19:06:00 -06:00
askpatricw
9e559ac3ec Merge branch 'main' of https://github.com/adafruit/circuitpython into main 2020-12-31 16:54:22 -08:00
Hugo Dahl
ad7f4d8ae9
Merge branch 'main' of https://github.com/adafruit/circuitpython into add-translation-for-builtin-object-help
* 'main' of https://github.com/adafruit/circuitpython:
  update wake-alarm implementation
  enable light-sleep functionality
  update frozen libs for 6.1.0-beta.3
  Revert "Removing frozen libs"
  add pretend-to-sleep functionality
  expose wake pin parameter and more tweaks
  add touch alarm support for esp32s2
  implement touch alarm
2020-12-30 23:37:55 -06:00
Hugo Dahl
1407af7291
Add localization for built-in help
Support localizing the output of a call to  to match the
firmware's language.
2020-12-30 18:20:43 -06:00
Hosted Weblate
c056ac3499
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-30 23:25:22 +01:00
Hosted Weblate
70bd3c50eb
Merge branch 'origin/main' into Weblate. 2020-12-30 23:25:20 +01:00
Hugo Dahl
334207c365
Translated using Weblate (French)
Currently translated at 100.0% (889 of 889 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-12-30 23:25:20 +01:00
Hugo Dahl
c27030ba7c
Translated using Weblate (Spanish)
Currently translated at 96.7% (860 of 889 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-12-30 23:25:19 +01:00
oon arfiandwi
7cae612ad0
Translated using Weblate (Indonesian)
Currently translated at 46.1% (410 of 889 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-12-30 23:25:18 +01:00
Jeff Epler
5698b8bb0a
Merge pull request #3850 from microDev1/touch-s2
Support for Touch Alarm
2020-12-30 16:25:11 -06:00
Jeff Epler
7e78af7aca
Merge pull request #3905 from dhalbert/update-frozen-6.1.0-beta.3
update frozen libs for 6.1.0-beta.3
2020-12-30 16:08:10 -06:00
microDev
0bad6110d4
update wake-alarm implementation 2020-12-31 02:44:20 +05:30
microDev
b83bdc540d
enable light-sleep functionality 2020-12-31 02:22:20 +05:30
Dan Halbert
3b72d502a4 update frozen libs for 6.1.0-beta.3 2020-12-30 14:32:03 -05:00
Dan Halbert
fb216148ec
Merge pull request #3900 from jepler/restore-frozen-busdevice
Restore frozen adafruit_bus_device module
2020-12-30 13:22:46 -05:00
Limor "Ladyada" Fried
fc20a3797b
Merge pull request #3896 from hugodahl/fix-esp32-s2-readme-typo
Fix minor typo in ESP32-S2 README
2020-12-30 12:30:52 -05:00
microDev
28ce5e8988
Merge branch 'main' into touch-s2 2020-12-30 22:44:22 +05:30
83c6774a44 Revert "Removing frozen libs"
This reverts commit 23ed3ef971.
2020-12-30 10:55:28 -06:00
microDev
c7f68022ef
add pretend-to-sleep functionality 2020-12-30 22:11:22 +05:30
anecdata
d537d94a4c see what we're missing 2020-12-30 09:45:15 -06:00
anecdata
0914b71653 remove unneeded set_config (wrong param; called in connect anyway) 2020-12-30 09:26:25 -06:00
Enrique Casado
7c9f63105b
Merge pull request #7 from adafruit/main
Pull latest changes
2020-12-30 12:48:11 +01:00
Hugo Dahl
72cad49c69
Fix minor typo in ESP32S2 readme 2020-12-29 22:52:59 -06:00
Jeff Epler
48de52c8ab
Merge pull request #3893 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-12-29 18:01:52 -06:00
42cad23dea make translate 2020-12-29 16:31:29 -06:00
a7542598a0 esp32s2: add I2SOut 2020-12-29 14:46:38 -06:00
Hugo Dahl
ffbe37b056
Translated using Weblate (French)
Currently translated at 100.0% (889 of 889 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-12-29 21:38:06 +01:00
2cd377f1a7 audiobusio: Make PDMIn optional 2020-12-29 14:06:32 -06:00
537a4daabd mark script as executable 2020-12-29 14:06:32 -06:00
b40a579d18 esp32s2: espidf: Consistent error checking of esp-idf calls
By surrounding most ESP-IDF API calls with this new macro, their failure will
result in a CircuitPython exception.
2020-12-29 14:06:32 -06:00
05ba1431c3 esp32s2: espidf: Add IDFError
this is an exception class for "generic" IDF errors that don't have
their own exception type.
2020-12-29 14:06:32 -06:00
d024df6b06 esp32s2: Use better optimizer flags in debug builds
(note that the before and after files both lack trailing newlines; this is
how the esp-idf do)

OPTIMIZATION_DEFAULT is -Og, which enables optimizations that do not
interfere with the debugger:
```
    elseif(CONFIG_COMPILER_OPTIMIZATION_DEFAULT)
        list(APPEND compile_options "-Og")
```
2020-12-29 14:06:32 -06:00
Hugo Dahl
8666083bd0
Translated using Weblate (French)
Currently translated at 100.0% (889 of 889 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-12-29 20:50:14 +01:00
Jeff Epler
9993814f7c
Merge pull request #3860 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-12-29 10:54:41 -06:00
Hosted Weblate
6348e2fbbc
Merge branch 'origin/main' into Weblate. 2020-12-29 17:08:54 +01:00
Wellington Terumi Uemura
62eb65e401
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (889 of 889 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-12-29 17:08:53 +01:00
Jeff Epler
7401aa8e85
Merge pull request #3888 from microDev1/fix-reset-pin
FIX : common_hal_reset_pin()
2020-12-29 10:08:47 -06:00
Hosted Weblate
b6f6af2699
Merge branch 'origin/main' into Weblate. 2020-12-28 20:51:31 +01:00
Scott Shawcroft
f9d9c031a9
Merge pull request #3878 from xobs/fomu-fixes-6.0.0
Fomu fixes for 6.0.0
2020-12-28 11:51:26 -08:00
Hosted Weblate
3332206d22
Merge branch 'origin/main' into Weblate. 2020-12-28 20:49:47 +01:00
Scott Shawcroft
c3396e4b49
Merge pull request #3868 from BennyE/wifi-enhancement-countrycode
esp32-s2: wifi enhancement to include countrycode
2020-12-28 11:49:41 -08:00
Hosted Weblate
860c4d5af4
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-28 18:59:42 +01:00
Hosted Weblate
759321a32b
Merge branch 'origin/main' into Weblate. 2020-12-28 18:59:40 +01:00
Jonny Bergdahl
dc8593db93
Translated using Weblate (Swedish)
Currently translated at 100.0% (884 of 884 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-12-28 18:59:40 +01:00
Dan Halbert
171efd55e0
Merge pull request #3830 from tannewt/pin_alarm
Add pin alarming
2020-12-28 12:59:27 -05:00
DavePutz
9c14593d62
Merge pull request #36 from adafruit/main
UPdate from adafruit main
2020-12-28 09:13:37 -06:00
microDev
dc332baa87
update common_hal_reset_pin() 2020-12-28 20:04:00 +05:30
Scott Shawcroft
6c7e6abcfd
Downgrade OTA API for IDF 4.2 2020-12-27 20:30:49 -08:00
Dan Halbert
938a0fa2fc
Add include to tick.c for mp_hal_is_interrupted() 2020-12-26 13:39:48 -05:00
Hosted Weblate
18047d0a2f
Merge branch 'origin/main' into Weblate. 2020-12-26 15:26:20 +01:00
Dan Halbert
1b7fbaf31e
Merge pull request #3881 from microDev1/update-ci
Re-Arrange CI Actions
2020-12-26 09:26:11 -05:00
microDev
f7cafbf5f9
re-arrange ci actions 2020-12-26 12:54:36 +05:30
Hosted Weblate
ffedfdd6e0
Merge branch 'origin/main' into Weblate. 2020-12-25 23:42:54 +01:00
Jeff Epler
5c4cb43679
Merge pull request #3880 from digixx/patch-1
SAMD51: change of DAC power setting
2020-12-25 16:42:46 -06:00
Uwe Gartmann
2729666d82
SAMD51: change of DAC power setting
Fixes wrong DAC output levels at high data rate
closes adafruit#3796
2020-12-25 17:53:43 +01:00
BennyE
64bb055700 Updating comment to reflect feedback of espressif from IDFGH-4486 -> works correct as per the protocol 2020-12-24 15:40:53 +01:00
Sean Cross
2f95cc95a4 litex: move more critical code to RAM
The XIP SPI flash on Fomu is slow, which results in certain operations
taking a long time. This becomes a problem for time-critical operations
such as USB.

Move various calls into RAM to improve performance.

This includes the call to __modsi3 and __udivsi3 which are used by the
supervisor handler to determine if periodic callbacks need to be run.

This finishes fixing #3841

Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-24 14:06:57 +08:00
Sean Cross
f3e54414e5 litex: ensure we don't re-enable interrups during ISR
During an interrupt handler, interrupts are implicitly disabled. They
will be re-enabled when the interrupt handler returns.

Due to some changes that were made, varous calls will re-enable
interrupts after they're finished. Examples of this include calling
`CALLBACK_CRITICAL_END` and getting the number of ticks with
`port_get_raw_ticks()`.

This patch prevents this from happening by doing two things:

1. Use standard calls in `port_get_raw_ticks()` to disable and re-enable
interrupts, preventing nesting issues, and
2. Increase the nesting count inside `isr()`, reflecting the implicit
call that is made by hardware when an interrupt is handled

This helps to address #3841.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-24 14:03:10 +08:00
Dan Halbert
578abae0f5
make translate yet again; forgot to fetch submodules to fresh clone 2020-12-23 23:05:10 -05:00
Dan Halbert
cf4862e96e
make translate again 2020-12-23 22:52:27 -05:00
Dan Halbert
8061a2574d
Merge branch 'main' into pin_alarm 2020-12-23 22:05:02 -05:00
Hosted Weblate
ce01aed5cf
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-24 03:25:47 +01:00
Hosted Weblate
34c90b6ecd
Merge branch 'origin/main' into Weblate. 2020-12-24 03:25:45 +01:00
Dan Halbert
a1e3ab1293
Merge pull request #3874 from dhalbert/ble-fixes-6.0.x-to-main
Merge ble-fixes from 6.0.x to main
2020-12-23 21:25:36 -05:00
BennyE
1a6b1b1953 implementing suggested changes 2020-12-24 00:37:37 +01:00
Scott Shawcroft
c371119da4
Make translate 2020-12-23 15:00:53 -08:00
Hosted Weblate
98afc9a066
Merge branch 'origin/main' into Weblate. 2020-12-23 23:49:56 +01:00
Dan Halbert
966f4de215
Merge pull request #3869 from jepler/disable-busdevice-in-core
circuitpy_mpconfig.mk: Unconditionally disable CIRCUITPY_BUSDEVICE
2020-12-23 17:49:51 -05:00
Dan Halbert
153a686837 make translate for main 2020-12-23 16:41:56 -05:00
Dan Halbert
a11ad25727 BLE fixes 2020-12-23 16:39:27 -05:00
Scott Shawcroft
1a8033470a
Stub out mp_hal_is_interrupted for UNIX 2020-12-23 12:22:50 -08:00
Hosted Weblate
414d21626b
Merge branch 'origin/main' into Weblate. 2020-12-23 21:14:23 +01:00
_fonzlate
ad4939ed5c
Translated using Weblate (Dutch)
Currently translated at 100.0% (882 of 882 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-12-23 21:14:23 +01:00
Scott Shawcroft
eb65765d52
Merge pull request #3867 from dhalbert/frequencyin-fix-6.0.x
FrequencyIn: do not raise in interrupt handler
2020-12-23 12:14:16 -08:00
42a229c08b circuitpy_mpconfig.mk: Unconditionally disable CIRCUITPY_BUSDEVICE
Several issues have been found in the implementation.  While they're
unresolved, it may be better to disable the built-in module.  (This
means that to work on fixing the module, it'll be necessary to
revert this commit)
2020-12-23 10:45:07 -06:00
BennyE
e9c9fce15d Remove debug log messages 2020-12-23 14:59:09 +01:00
Scott Shawcroft
1fca297a2d
A couple sleep fixes
* Better messaging when code is stopped by an auto-reload.
* Auto-reload works during sleeps on ESP32-S2. Ticks wake up the
  main task each time.
* Made internal naming consistent. CamelCase Python names are NOT
  separated by an underscore.
2020-12-22 16:13:02 -08:00
Dan Halbert
89079039ad FrequencyIn: do not raise in interrupt handler 2020-12-22 18:54:42 -05:00
Hosted Weblate
cda6de8c7d
Merge branch 'origin/main' into Weblate. 2020-12-22 19:17:00 +01:00
Scott Shawcroft
8b03951fee
Merge pull request #3866 from jepler/use-stub
esp32s2: make flash: use the stub
2020-12-22 10:16:54 -08:00
Hosted Weblate
e31ecd602d
Merge branch 'origin/main' into Weblate. 2020-12-22 19:12:00 +01:00
Scott Shawcroft
8b5b602ea7
Merge pull request #3862 from dhalbert/storage-remount
unmounted filesystems start as ejected
2020-12-22 10:11:54 -08:00
Hosted Weblate
3fbd45d08d
Merge branch 'origin/main' into Weblate. 2020-12-22 19:07:57 +01:00
Wellington Terumi Uemura
4db2d692e3
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (882 of 882 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-12-22 19:07:57 +01:00
Dan Halbert
65b295cd03
Merge pull request #3865 from djix123/stm32f411ce_i2c
Add default I2C pins for STM32F411CE
2020-12-22 13:07:48 -05:00
da8f023665 esp32s2: make flash: use the stub
Very long ago, this was apparently not supported in esptool yet, at
least when operating over USB CDC.  This now works just fine, and
our esp webtool relies on it as well.  It makes flashing faster,
too.
2020-12-22 10:27:42 -06:00
Dan Halbert
d4e9eea397
mark alarm.wake_alarm during gc sweep 2020-12-22 08:11:01 -08:00
Hosted Weblate
d3ae03b32e
Merge branch 'origin/main' into Weblate. 2020-12-22 15:29:29 +01:00
Dan Halbert
f226f4a233
Merge pull request #3864 from djix123/w25q64fv
Add support for Winbond W25Q64FV
2020-12-22 09:29:22 -05:00
Jonathan Giles
aaa3c61819 Add default I2C pins for STM32F411CE 2020-12-22 09:11:05 -05:00
Hosted Weblate
9e725dfcda
Merge branch 'origin/main' into Weblate. 2020-12-22 14:02:41 +01:00
Dan Halbert
d6df43b943
Merge pull request #3863 from dhalbert/adafruit-prefix
Add Adafruit to MICROPY_HW_BOARD_NAME for various boards
2020-12-22 08:02:35 -05:00
Jonathan Giles
17e7973ff2 Add support for Winbond W25Q64FV 2020-12-22 07:50:56 -05:00
askpatricw
f814a34714 Merge branch 'main' of https://github.com/adafruit/circuitpython into main 2020-12-21 22:30:13 -08:00
Dan Halbert
39ca406a31 Add Adafruit to MICROPY_HW_BOARD_NAME for various boards 2020-12-21 23:32:11 -05:00
Hosted Weblate
aa1f0e93ba
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-22 03:46:23 +01:00
Scott Shawcroft
6347a3fcdb
Merge pull request #3812 from microDev1/ota-s2
Support for OTA update
2020-12-21 18:46:13 -08:00
askpatricw
737828ccb1 Merge branch 'main' of https://github.com/adafruit/circuitpython into main 2020-12-21 17:59:35 -08:00
Scott Shawcroft
df8cba1068
Merge pull request #3834 from jepler/pr3723
displayio: Fix several bugs (transparency and palettes of OnDiskBitmaps)
2020-12-21 17:46:30 -08:00
Dan Halbert
3b4c14f3ec unmounted filesystems start as ejected 2020-12-21 20:43:46 -05:00
Scott Shawcroft
fb0c74c5f1
Merge pull request #3662 from ElectronicCats/bastble
Add new board BastBLE
2020-12-21 17:39:08 -08:00
BennyE
ae3b440835 more fixes and still with debug 2020-12-22 00:32:48 +01:00
Dan Halbert
233ccaac58
Merge pull request #3824 from skerr92/add_more_spi_flash
Adding Support for AT25DF641A SPI Flash
2020-12-21 14:48:36 -05:00
Lucian Copeland
9a86829d01 translations 2020-12-21 14:14:31 -05:00
Lucian Copeland
75620884e6 Fix stubs, recv_into error 2020-12-21 13:26:43 -05:00
Lucian Copeland
32736dd2c3 Implement server API 2020-12-20 17:12:03 -05:00
sabas1080
d24a5d6270 update path board.h 2020-12-20 15:52:19 -06:00
BennyE
2e393ed195 adding debug infos 2020-12-20 22:03:38 +01:00
sabas1080
bd3c5c33fb define QSPI pinout 2020-12-20 14:57:10 -06:00
sabas1080
88b1e2fe61 remove Internal flash unnecessary 2020-12-20 13:35:15 -06:00
Bernhard Boser
c875d7c22d speedup pack_bin, ext, str; catch short reads 2020-12-19 19:06:43 -08:00
microDev
ecd7c0878e
expose wake pin parameter and more tweaks 2020-12-19 20:54:36 +05:30
microDev
a60fabdffa
add touch alarm support for esp32s2 2020-12-19 12:56:34 +05:30
Jeff Epler
fd21ff59d9
Merge pull request #3847 from jepler/issue-3795
adafruit_bus_device: Don't transmit STOP condition in write_then_readinto
2020-12-18 14:01:03 -06:00
Dan Halbert
f202eb734a
Merge pull request #3842 from StackRduino/main
add stackrduino_m0_pro
2020-12-18 12:33:34 -05:00
Dan Halbert
79658adc10
Merge pull request #3838 from StackRduino/patch-1
Update devices.h
2020-12-18 12:28:34 -05:00
6c4df5a8b4 adafruit_bus_device: Don't transmit STOP condition in write_then_readinto
Closes #3795
2020-12-18 11:13:54 -06:00
microDev
8eaf2b0c19
implement touch alarm 2020-12-18 12:54:36 +05:30
microDev
4512290ba0
Merge branch 'main' into ota-s2 2020-12-18 00:44:00 +05:30
microDev
4863413bc9
rename ota to dualbank 2020-12-18 00:34:56 +05:30
f224ed1848 OnDiskBitmap: Correct handling of "0 color palette" images
Microsoft documentation says:

> If biCompression equals BI_RGB and the bitmap uses 8 bpp or less, the bitmap has a color table immediatelly following the BITMAPINFOHEADER structure. The color table consists of an array of RGBQUAD values. The size of the array is given by the biClrUsed member. If biClrUsed is zero, the array contains the maximum number of colors for the given bitdepth; that is, 2^biBitCount colors.

Formerly, we treated 0 colors as "no image palette" during construction,
but then during common_hal_displayio_ondiskbitmap_get_pixel indexed into
the palette anyway.  This could have unpredictable results.  On a pygamer,
it gave an image that was blue and black.  On magtag, it gave a crash.
2020-12-17 10:54:37 -06:00
Dan Halbert
8f9cd7075e
Merge pull request #3752 from jepler/gcc10
build: Update to gcc10
2020-12-17 11:03:40 -05:00
Hany Elkomy
7afa1a1d76
Update mpconfigboard.mk
reduced to CFLAGS_INLINE_LIMIT = 35 for tranaslations
2020-12-17 22:47:01 +08:00
Hany Elkomy
06022a5e91
Update mpconfigboard.mk
changed CFLAGS_INLINE_LIMIT = 55
2020-12-17 21:58:24 +08:00
Hany Elkomy
81ff95a8eb
Add files via upload 2020-12-17 20:29:54 +08:00
Hany Elkomy
c6de41b4ea
Update build.yml
added stackrduino_m0_pro board
2020-12-17 17:14:49 +08:00
Hany Elkomy
bc95c7f219
Delete board.c 2020-12-17 17:08:52 +08:00
Hany Elkomy
f3fb014166
Delete mpconfigboard.h 2020-12-17 17:08:50 +08:00
Hany Elkomy
1284418fa7
Delete mpconfigboard.mk 2020-12-17 17:08:48 +08:00
Hany Elkomy
736c0d4c3d
Delete pins.c 2020-12-17 17:08:46 +08:00
Hany Elkomy
0a7c74230c
Update mpconfigboard.mk
updated for 6.1
2020-12-17 16:26:54 +08:00
Hany Elkomy
109e147b46
Update board.c
updated path to board.h
2020-12-17 16:22:47 +08:00
Hany Elkomy
23ad9c7402
Update mpconfigboard.h
removed whitespace
2020-12-17 15:17:04 +08:00
Hany Elkomy
3d9e4958c5
Add files via upload 2020-12-17 14:24:24 +08:00
Hany Elkomy
f3b7cd6a5d
Delete pins.c 2020-12-17 14:24:07 +08:00
Hany Elkomy
70739ff639
Update pins.c 2020-12-17 13:11:53 +08:00
Hany Elkomy
70a9c601a8
Update devices.h
Correct capacity value for the MX25R1635F from 0x18 to 0x15 (tested and working)
refer to 
https://github.com/adafruit/circuitpython/issues/3558
2020-12-17 12:52:51 +08:00
Hany Elkomy
fac0bf1db8
Add files via upload 2020-12-17 12:37:32 +08:00
Scott Shawcroft
68dd4b2b37
Merge pull request #3832 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-12-16 15:45:39 -08:00
askpatricw
10d735db9f Merge branch 'main' of https://github.com/adafruit/circuitpython into main 2020-12-16 13:28:06 -08:00
28bd29eb42 displayio: ColorConverter: fix logic errors about transparent pixels
The transparent_color field was never initialized.  I _think_ this means
its value was always set to 0, or the blackest of blacks.  Instead,
initialize it to the sentinel value, newly given the name
NO_TRANSPARENT_COLOR.

This exposed a second problem: The test for whether there was an existing
transparent color was wrong (backwards).  I am guessing that this was not
found due to the first bug; since the converter had a transparent color,
the correct test would have led to always getting the error "Only one
color can be transparent at a time".

Closes #3723
2020-12-16 13:48:27 -06:00
Wellington Terumi Uemura
109b6baee4
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (879 of 879 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-12-16 18:00:02 +01:00
Seth Kerr
74805527e8
Delete board.h
not supposed to be here.
2020-12-16 10:52:18 -05:00
Seth Kerr
1f58795c56 still removing doubles. should be the last 2020-12-16 10:47:37 -05:00
Seth Kerr
8fcb28e89e hopefully this gets rid of all the funny files 2020-12-16 10:44:21 -05:00
Seth Kerr
2f476731ec removing pesky directories 2020-12-16 10:35:41 -05:00
Seth Kerr
ca757f2ead removed comments on 64MiB SPI flash causing build test issues 2020-12-16 10:25:20 -05:00
Scott Shawcroft
0dcc659d53
Swap to IDF release/4.2 branch for stability 2020-12-15 18:12:59 -08:00
Scott Shawcroft
1ad49d9a18
Add alarm.pin that wakes on pin level
Fixes #3787
2020-12-15 18:12:59 -08:00
Jeff Epler
f2204d7d88
Merge pull request #3828 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-12-15 19:53:04 -06:00
askpatricw
1d37d3f43b Merge branch 'main' of https://github.com/adafruit/circuitpython into main 2020-12-15 15:43:27 -08:00
Hosted Weblate
2de9f18121
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-15 22:31:58 +01:00
Dan Halbert
a2d2d699e4
Merge pull request #3810 from hierophect/esp-analog-hang
ESP32-S2: Remove calloc in AnalogIn
2020-12-15 16:31:46 -05:00
hierophect
3ad4b12ce1
Merge branch 'main' into esp-analog-hang 2020-12-15 15:08:30 -05:00
Dan Halbert
4521dfb732 squeeze some smaller boards 2020-12-15 13:23:49 -05:00
Dan Halbert
fb33c4e1c0 -ftree-vrp better diagnostics on -Os builds; -fno-inline-functions for -O2; fix struct init in HCI bleio 2020-12-15 12:23:56 -05:00
bbbd621b18 nrf: simmel: remove some unneeded modules to make it fit 2020-12-15 10:54:37 -06:00
3c4562c3ca camera: Provide correct forward-declaration of camera_imageformat_type
This resolves the build error
```
arm-none-eabi-ld: build-spresense/libmpy.a(Camera.o):(.rodata.camera_imageformat_type+0x0): multiple definition of `camera_imageformat_type'; build-spresense/libmpy.a(__init__.o):(.rodata.camera_imageformat_type+0x0): first defined here
arm-none-eabi-ld: build-spresense/libmpy.a(ImageFormat.o):(.rodata.camera_imageformat_type+0x0): multiple definition of `camera_imageformat_type'; build-spresense/libmpy.a(__init__.o):(.rodata.camera_imageformat_type+0x0): first defined here
arm-none-eabi-ld: build-spresense/libmpy.a(Camera.o):(.rodata.camera_imageformat_type+0x0): multiple definition of `camera_imageformat_type'; build-spresense/libmpy.a(__init__.o):(.rodata.camera_imageformat_type+0x0): first defined here
```
2020-12-15 10:40:24 -06:00
dc9bc8fc9a Fix flexible array declaration 2020-12-15 09:58:47 -06:00
Dan Halbert
9f9ab44acc Avoid "error: flexible array member in a struct with no named members" 2020-12-15 10:11:16 -05:00
Jeff Epler
afcc00fed4
Merge pull request #3771 from cwalther/exceptionprint
#3702 breaks printing an exception twice
2020-12-15 08:11:28 -06:00
Jeff Epler
b810b384c9
Merge pull request #3792 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-12-15 08:07:22 -06:00
Dan Halbert
97947b4fe9 shrink bast_pro_mini_m0; use proper flex-array syntax 2020-12-14 22:07:54 -05:00
Hosted Weblate
9fd652111a
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-15 02:40:11 +01:00
Hosted Weblate
f267c327bd
Merge branch 'origin/main' into Weblate. 2020-12-15 02:40:09 +01:00
Scott Shawcroft
d076296659
Merge pull request #3816 from dhalbert/sleepmemory
alarm.sleep_memory + alarm.wake_alarm
2020-12-14 17:40:02 -08:00
Hosted Weblate
2c4b1f251d
Merge branch 'origin/main' into Weblate. 2020-12-15 02:32:24 +01:00
Scott Shawcroft
d6ee17c6fd
Merge pull request #3817 from BennyE/reserve-pins-only-for-debug
esp32s2: Reserve UART pins only if DEBUG=1 is set to address issue 3811
2020-12-14 17:32:17 -08:00
Hosted Weblate
1bacfacfb3
Merge branch 'origin/main' into Weblate. 2020-12-15 02:11:24 +01:00
Scott Shawcroft
a1f773d9ed
Merge pull request #3819 from BennyE/issue3663
Fix for issue 3663 by returning early if no scan was started before s…
2020-12-14 17:11:18 -08:00
Hosted Weblate
b98da3d89f
Merge branch 'origin/main' into Weblate. 2020-12-15 02:09:44 +01:00
Scott Shawcroft
dc473b29e3
Merge pull request #3643 from hierophect/esp32-pin-reset
ESP32-S2: Add IDF pin resets to Microcontroller
2020-12-14 17:09:29 -08:00
Dan Halbert
6abe3cd0ef -Os for SAMD51; fix CSUPEROPT typo 2020-12-14 18:57:31 -05:00
Seth Kerr
c16b8f1ee5 odd thing with a tests/pyboard\ 2.py file showing up 2020-12-14 17:26:27 -05:00
Seth Kerr
6d8642bf41 fixing line comment issue with CI build tests 2020-12-14 17:17:28 -05:00
Seth Kerr
731cdefe80 this should be it. 2020-12-14 16:25:33 -05:00
Dan Halbert
845cf03a45
typo 2020-12-14 15:55:31 -05:00
Dan Halbert
d2cb58a2df
suod apt-get update 2020-12-14 15:54:38 -05:00
Dan Halbert
eea8bc4999
Use Dec 11 gcc 10.2 release 2020-12-14 15:41:17 -05:00
Lucian Copeland
d793ec2872 Change pinfunc to default of 0 at reset 2020-12-14 14:25:38 -05:00
Lucian Copeland
cac755ba16 Merge remote-tracking branch 'upstream/main' into esp-analog-hang 2020-12-14 13:00:57 -05:00
Lucian Copeland
dc560f0eee translations 2020-12-14 13:00:07 -05:00
Lucian Copeland
f15e2d86c0 Reduce samples from 64 to 2 2020-12-14 12:59:20 -05:00
Dan Halbert
e0bb4a808a make translate 2020-12-14 11:49:01 -05:00
Dan Halbert
e0afa32cfa use RTC_DATA_ATTR; address review comments 2020-12-14 11:36:54 -05:00
BennyE
210c0ec89c add country(code) to wifi network objects) 2020-12-13 13:32:12 +01:00
Hosted Weblate
9acdd91c91
Merge branch 'origin/main' into Weblate. 2020-12-13 02:14:31 +01:00
Dan Halbert
6cced49402
Merge pull request #3820 from theacodes/bhb-v6
Update Big Honking Button configuration to support its newest board revision.
2020-12-12 20:14:19 -05:00
Thea Flowers
fe32dd08b8 Update Big Honking Button configuration to support its newest board revision.
v5 of the BHB board has:

* GD25Q64C instead of the GD25Q16C.
* Pin PB10 tied to ground for board revision detection.
2020-12-12 19:16:35 -05:00
microDev
37ee5e683d
Merge branch 'main' into ota-s2 2020-12-12 05:25:46 +05:30
BennyE
c5c13620f2 Fix for issue 3663 by returning early if no scan was started before stop is issued 2020-12-12 00:49:53 +01:00
microDev
92098ca06b
update docs, implement suggested changes 2020-12-12 05:15:25 +05:30
Hosted Weblate
54fcf127c7
Merge branch 'origin/main' into Weblate. 2020-12-11 23:00:50 +01:00
Dan Halbert
eda3392f50
Merge pull request #3818 from dhalbert/apt-update
add apt-get update
2020-12-11 17:00:44 -05:00
BennyE
81c4871fdf Set DEBUG CFLAG if set in make 2020-12-11 22:11:39 +01:00
Dan Halbert
37c9f768b5 add apt-get update 2020-12-11 16:03:28 -05:00
BennyE
2de5eba6d1 add apt-get update 2020-12-11 21:17:07 +01:00
BennyE
e3194ad54e Reserve UART pins only if DEBUG=1 is set to address issue 3811 2020-12-11 20:35:28 +01:00
Scott Shawcroft
344d3c59cb
Merge branch 'main' into msgpack 2020-12-11 11:10:30 -08:00
Hosted Weblate
4becc00a7b
Merge branch 'origin/main' into Weblate. 2020-12-11 20:08:28 +01:00
Wellington Terumi Uemura
8d9d53a07c
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (877 of 877 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-12-11 20:08:28 +01:00
Scott Shawcroft
d920750756
Merge pull request #3815 from dhalbert/python3-mkenv-mk
Use $(PYTHON3) instead of $(PYTHON) in make actions
2020-12-11 11:08:15 -08:00
microDev
08e94e6a20
add more docs 2020-12-11 22:55:22 +05:30
Dan Halbert
39124b888b doc fixes 2020-12-11 09:03:45 -05:00
Dan Halbert
1daad63d2b add apt-get update 2020-12-11 08:34:40 -05:00
Dan Halbert
cf938983e9 SleepMemory + set alarm.wake_alarm 2020-12-11 08:10:26 -05:00
Bernhard Boser
d29184b5a0 try without ... in docs 2020-12-10 12:15:43 -08:00
microDev
cb35abfd04
add docs, update translation & fix ota.flash() 2020-12-11 01:01:01 +05:30
Dan Halbert
d83d46a52d Invoke scripts with 2020-12-10 14:28:22 -05:00
Dan Halbert
55f4110983 fix typo 2020-12-10 14:16:25 -05:00
Bernhard Boser
6d2329fb09 add blank lines after all comment sections 2020-12-10 10:59:26 -08:00
DavePutz
3d5c77c601
Merge pull request #35 from adafruit/main
Update from adafruit/main
2020-12-10 12:05:51 -06:00
Dan Halbert
5964163649 Initial SleepMemory code 2020-12-10 13:03:40 -05:00
microDev
6a4f74946f
reset ota module on every vm run 2020-12-10 16:48:58 +05:30
microDev
07015ad527
add ability to switch boot partition 2020-12-10 16:42:45 +05:30
microDev
bfa2c604ef
add ability to flash in discontinuous chunks 2020-12-10 15:45:25 +05:30
microDev
ed5add37f6
add ability to flash in continuous chunks 2020-12-10 14:36:49 +05:30
microDev
dee86a014b
factor out esp_ota_end 2020-12-10 14:04:24 +05:30
microDev
20c3184c87
re-organize and clean-up 2020-12-10 12:34:56 +05:30
Bernhard Boser
3c724321d8 cosmetics 2020-12-09 12:01:09 -08:00
Hosted Weblate
8b98867f07
Merge branch 'origin/main' into Weblate. 2020-12-09 20:37:07 +01:00
Scott Shawcroft
e9fd689d57
Merge pull request #3814 from mcauser2/main
Fix some spelling mistakes
2020-12-09 11:36:59 -08:00
Hosted Weblate
6af532f4f0
Merge branch 'origin/main' into Weblate. 2020-12-09 19:03:40 +01:00
Scott Shawcroft
e14b148e62
Merge pull request #3803 from skieast/fix_i2c_hang_with_wifi
Working, tested with two i2c busses
2020-12-09 10:03:31 -08:00
Mike Causer
eedcc98cc5 Fix some spelling mistakes 2020-12-10 02:52:18 +11:00
Hosted Weblate
cea6c3d8d6
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-09 01:34:28 +01:00
Hosted Weblate
fea25c1c5e
Merge branch 'origin/main' into Weblate. 2020-12-09 01:34:27 +01:00
Scott Shawcroft
133013083a
Merge pull request #3808 from tannewt/panic_safe_mode
Enter safe mode after panic or brownout
2020-12-08 16:31:22 -08:00
Scott Shawcroft
57101d7da6
Merge pull request #3807 from tannewt/sleep_tweaks
Add `board_deinit` for use with sleep
2020-12-08 16:30:41 -08:00
Lucian Copeland
f7c7324e60 Translations 2020-12-08 18:57:19 -05:00
Bernhard Boser
a5c3dc286c typing ... 2020-12-08 15:48:56 -08:00
Lucian Copeland
9a5006e241 Remove problematic calloc 2020-12-08 17:43:39 -05:00
Bernhard Boser
9e7a7b9dc4 uglify typing hints 2020-12-08 14:38:20 -08:00
Scott Shawcroft
0b4bcd9599
Fix build and more comments 2020-12-08 13:05:21 -08:00
Bernhard Boser
1f14d39364 remove two extra closing angular brackets 2020-12-08 11:50:45 -08:00
Hosted Weblate
a3fc20df0f
Merge branch 'origin/main' into Weblate. 2020-12-08 20:21:37 +01:00
Antonin ENFRUN
0ff0bb9ec4
Translated using Weblate (French)
Currently translated at 97.3% (852 of 875 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-12-08 20:21:37 +01:00
Scott Shawcroft
93fade24ef
Merge pull request #3804 from microDev1/s2-reset
ESP32S2: Fix microcontroller.reset()
2020-12-08 11:21:29 -08:00
Scott Shawcroft
d0a806d797
Enter safe mode after panic or brownout
Uses the IDF's reset reason. Does nothing before reset.

Fixes #3389
2020-12-08 11:03:24 -08:00
Scott Shawcroft
40118bcf57
Add board_deinit for use with sleep
This changes lots of files to unify `board.h` across ports. It adds
`board_deinit` when CIRCUITPY_ALARM is set. `main.c` uses it to
deinit the board before deep sleeping (even when pretending.)

Deep sleep is now a two step process for the port. First, the
port should prepare to deep sleep based on the given alarms. It
should set alarms for both deep and pretend sleep. In particular,
the pretend versions should be set immediately so that we don't
miss an alarm as we shutdown. These alarms should also wake from
`port_idle_until_interrupt` which is used when pretending to deep
sleep.

Second, when real deep sleeping, `alarm_enter_deep_sleep` is called.
The port should set any alarms it didn't during prepare based on
data it saved internally during prepare.

ESP32-S2 sleep is a bit reorganized to locate more logic with
TimeAlarm. This will help it scale to more alarm types.

Fixes #3786
2020-12-08 10:52:25 -08:00
Hosted Weblate
f261004080
Merge branch 'origin/main' into Weblate. 2020-12-08 19:20:11 +01:00
Dan Halbert
1df033465a
Merge pull request #3806 from pewpew-game/rotarydoc
Remove warning about lack of support on M0 from rotaryio
2020-12-08 13:20:03 -05:00
Radomir Dopieralski
2c546ab768 Remove warning about lack of support on M0 from rotaryio
It seems that this warning no longer applies.
2020-12-08 15:54:34 +01:00
microDev
2f95c94ad8
esp32s2 - update common_hal_mcu_reset 2020-12-08 18:00:58 +05:30
microDev
602243748b
add ota support for esp32s2 2020-12-08 11:45:00 +05:30
microDev
fc23a0cc8a
implement ota module 2020-12-08 11:30:00 +05:30
Hosted Weblate
a31fc3b08c
Merge branch 'origin/main' into Weblate. 2020-12-08 05:27:34 +01:00
Dan Halbert
7250925b98
Merge pull request #3802 from tannewt/fix_s2_safe_mode
Store safe mode state in the RTC.
2020-12-07 23:27:24 -05:00
Bruce Segal
571c063c2a Working, tested with two i2c busses 2020-12-07 17:57:54 -08:00
Bernhard Boser
413885a529 fix typspec in function declarations 2020-12-07 17:45:21 -08:00
Bernhard Boser
9903c9e855 fixed (?) typespec for callback functions 2020-12-07 16:50:52 -08:00
Scott Shawcroft
44b56f76c4
Store safe mode state in the RTC.
Also print backtrace before reset when DEBUG. This will help debug
safe mode issues which calls reset.
2020-12-07 16:39:54 -08:00
Bernhard Boser
5875a27fa8 removed extra triple quote 2020-12-07 16:32:38 -08:00
Bernhard Boser
9412c3f58e moved misplaced triple-quote 2020-12-07 16:22:09 -08:00
Bernhard Boser
534b48fcfe remove a ~ from doc that causes an error; add ExtType.c to circuitpy_defns.mk 2020-12-07 16:08:16 -08:00
Bernhard Boser
b5b6b6d0f2 add ExtType, update doc, add a test 2020-12-07 15:40:02 -08:00
Hosted Weblate
3b5be929e0
Merge branch 'origin/main' into Weblate. 2020-12-07 21:41:52 +01:00
Dan Halbert
054eafd42f
Merge pull request #3797 from dhalbert/reset-reason-run-reason-available
Make ResetReason and RunReason available
2020-12-07 15:41:45 -05:00
Hosted Weblate
458f55714d
Merge branch 'origin/main' into Weblate. 2020-12-07 21:32:21 +01:00
Scott Shawcroft
22ad76bb48
Merge pull request #3800 from BennyE/wifi-better-logs
Enhance debug log for wifi scan, sta_start, sta_stop
2020-12-07 12:32:15 -08:00
Hosted Weblate
4e7668d69b
Merge branch 'origin/main' into Weblate. 2020-12-07 21:26:31 +01:00
Jonny Bergdahl
ac8a9625de
Translated using Weblate (Swedish)
Currently translated at 100.0% (875 of 875 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-12-07 21:26:30 +01:00
Scott Shawcroft
7ac200017d
Merge pull request #3799 from dhalbert/wifi-radio-gc-collect
Include wifi.radio singleton in gc
2020-12-07 12:26:16 -08:00
Lucian Copeland
c1a2ea27ce Change to config-based resets 2020-12-07 13:57:47 -05:00
Lucian Copeland
c7b5928833 Fix submodule desync 2020-12-07 11:47:39 -05:00
Lucian Copeland
40a536904f Merge remote-tracking branch 'upstream/main' into esp32-pin-reset 2020-12-07 11:45:27 -05:00
Dan Halbert
169b487509 Include wifi.radio singleton in gc 2020-12-07 11:07:56 -05:00
BennyE
70827ac3da debug log for wifi scan, start stop 2020-12-06 23:38:04 +01:00
Dan Halbert
9391c8f9dd Make ResetReason and RunReason available 2020-12-06 12:00:00 -05:00
Jonny Bergdahl
bb1b2bd787
Translated using Weblate (Swedish)
Currently translated at 99.7% (873 of 875 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-12-06 00:29:08 +01:00
Hosted Weblate
e58c3852f1
Merge branch 'origin/main' into Weblate. 2020-12-04 19:33:05 +01:00
vkuthan
11d829e20e
Translated using Weblate (Czech)
Currently translated at 3.7% (33 of 875 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/cs/
2020-12-04 19:33:05 +01:00
Scott Shawcroft
a7ec4a0489
Merge pull request #3791 from dhalbert/radio-set-enabled
allow radio.enabled to be settable
2020-12-04 10:32:53 -08:00
Enrique Casado
d64d48ed3a
Merge pull request #6 from adafruit/main
Merging latest changes
2020-12-04 11:44:37 +01:00
Wellington Terumi Uemura
db04582af9
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (875 of 875 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-12-04 07:29:01 +01:00
Dan Halbert
2f0e676fcb update doc per review 2020-12-03 22:06:02 -05:00
Dan Halbert
57fa6bece8 allow radio.enabled to be settable 2020-12-03 21:27:35 -05:00
Jeff Epler
fb90f51082
Merge pull request #3779 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-12-02 21:19:32 -06:00
Hosted Weblate
03d0ec85a1
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-02 22:23:14 +01:00
Hosted Weblate
079bf7ab94
Merge branch 'origin/main' into Weblate. 2020-12-02 22:23:12 +01:00
Scott Shawcroft
1130b80e2a
Merge pull request #3612 from gamblor21/bus_device
Moving Adafruit_CircuitPython_BusDevice to core
2020-12-02 13:23:02 -08:00
Hosted Weblate
a483cd1acb
Merge branch 'origin/main' into Weblate. 2020-12-02 22:13:25 +01:00
Dan Halbert
348392f8cc
Merge pull request #3775 from tannewt/nina_certs
Use nina-fw root certs
2020-12-02 16:13:19 -05:00
Hosted Weblate
c7749a569d
Merge branch 'origin/main' into Weblate. 2020-12-02 22:12:36 +01:00
Dan Halbert
9b3186b625
Merge pull request #3776 from tannewt/backup_socket_timeout
Two minor socket changes
2020-12-02 16:12:29 -05:00
Scott Shawcroft
608c98501b
Merge remote-tracking branch 'adafruit/main' into msgpack 2020-12-02 13:10:39 -08:00
Hosted Weblate
51fd678ee0
Merge branch 'origin/main' into Weblate. 2020-12-02 22:10:31 +01:00
Dan Halbert
31acfedf93
Merge pull request #3780 from tannewt/block_while_erasing
Block all tasks (not interrupts) during flash erase
2020-12-02 16:10:25 -05:00
Bernhard Boser
34bbcc4910
exclude nrf/simmel due to lack of flash 2020-12-02 13:05:00 -08:00
Hosted Weblate
7655102ef2
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-12-02 21:51:54 +01:00
Hosted Weblate
8f6baa212f
Merge branch 'origin/main' into Weblate. 2020-12-02 21:51:52 +01:00
Scott Shawcroft
d7ba641ff6
Merge pull request #3767 from dhalbert/sleep
Initial alarm and sleep PR: time alarms with light and deep sleep; PinAlarms not yet implemented
2020-12-02 12:51:43 -08:00
vkuthan
9e6b2b1da8
Translated using Weblate (Czech)
Currently translated at 3.2% (28 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/cs/
2020-12-02 21:29:04 +01:00
Maciej Stankiewicz
1c00deb8be
Translated using Weblate (Polish)
Currently translated at 71.8% (621 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-12-02 21:29:04 +01:00
gamblor21
cb863e4c5c Added to partial builds where frozen removed 2020-12-01 22:19:48 -06:00
Bernhard Boser
546b15bf1a
add trailing newline 2020-12-01 18:42:07 -08:00
Bernhard Boser
87d4184dd5
exclude spresense 2020-12-01 18:42:06 -08:00
Bernhard Boser
582a47d71a
rename read, write to read_bytes, write_bytes 2020-12-01 18:41:11 -08:00
Bernhard Boser
59c3e25168
disable on boards tight on memory. add stddef.h to imports (not actually needed). 2020-12-01 18:39:24 -08:00
Bernhard Boser
4b71079628
update translations 2020-12-01 18:39:21 -08:00
Bernhard Boser
a310cde8c1
fixed res may not be initialized in read_size 2020-12-01 18:38:47 -08:00
Bernhard Boser
b805bf8a62
cleanup 2020-12-01 18:38:47 -08:00
Bernhard Boser
44bc75af37
output little endian; update example 2020-12-01 18:38:47 -08:00
Bernhard Boser
f91932d783
make translate 2020-12-01 18:38:44 -08:00
Bernhard Boser
f38bd59c6b
added signatures to documenation 2020-12-01 18:38:15 -08:00
Bernhard Boser
912691e0d2
removed blanks line at end of file 2020-12-01 18:38:14 -08:00
Bernhard Boser
e19782633a
removed blanks to make pre-commit check happy 2020-12-01 18:38:14 -08:00
Bernhard Boser
513253bc3f
moved logic to shared-module and added documentation 2020-12-01 18:38:14 -08:00
Bernhard Boser
748472de7a
removed empty line at end of py/circuitpy_mpconfig.mk 2020-12-01 18:38:14 -08:00
Bernhard Boser
90c203a3dd
add module msgpack 2020-12-01 18:38:14 -08:00
Scott Shawcroft
73e22f9eeb
Block all tasks (not interrupts) during flash erase
Otherwise we risk running code from flash while an erase is in
progress, crashing and corrupting the file system.

Related to #3744
2020-12-01 18:15:06 -08:00
Dan Halbert
72fa7d88b8 fix doc errors 2020-12-01 20:13:46 -05:00
gamblor21
fe1c2fa6f0 Removed bus device from simmel build 2020-12-01 19:11:17 -06:00
Dan Halbert
8b7c23c1ee address review comments 2020-12-01 20:01:14 -05:00
gamblor21
d3bbb99e07 Fixing stubs 2020-12-01 17:49:15 -06:00
Mark
237385798c
Merge branch 'main' into bus_device 2020-12-01 15:47:16 -06:00
Maciej Stankiewicz
2b9ca4d48a
Translated using Weblate (Polish)
Currently translated at 70.9% (613 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-12-01 20:56:03 +01:00
Szymon Jakubiak
44e0d98c62
Translated using Weblate (Polish)
Currently translated at 70.9% (613 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-12-01 20:56:03 +01:00
Maciej Stankiewicz
f6cba4c974
Translated using Weblate (Polish)
Currently translated at 70.7% (611 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-12-01 20:53:22 +01:00
Szymon Jakubiak
a95285ad36
Translated using Weblate (Polish)
Currently translated at 70.7% (611 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-12-01 20:53:21 +01:00
Scott Shawcroft
9a9e972242
Ignore certificates readme in doc build 2020-12-01 11:01:26 -08:00
Scott Shawcroft
927624468d
Two minor socket changes
* Remove BrokenPipeError and prefer to return the number of bytes
  received. (May be zero.)
* Add two minute backup timeout to reduce the chance we hang on
  recv accidentally.
2020-11-30 18:39:50 -08:00
Scott Shawcroft
4ac4faaaf6
Use nina-fw root certs
That way we have one set we use for all of Adafruit's connected
devices.
2020-11-30 17:02:26 -08:00
Scott Shawcroft
5b3c930e38
Merge pull request #3738 from microDev1/fix-touch
ESP32S2: Fix multiple touchpad don't work simultaneously
2020-11-30 16:03:16 -08:00
Scott Shawcroft
a975ef4971
Merge pull request #3695 from cwalther/movable
Add movable supervisor allocations
2020-11-30 16:00:55 -08:00
Scott Shawcroft
299b6efd84
Merge pull request #3774 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-30 15:40:46 -08:00
Christian Walther
d6f8a43f6c Eliminate goto. 2020-11-30 23:33:38 +01:00
Hosted Weblate
1395ce9a7b
Merge branch 'origin/main' into Weblate. 2020-11-30 22:48:05 +01:00
Scott Shawcroft
98cf7f67d4
Merge pull request #3773 from dhalbert/no-samd21-complex-arithmetic
Disable complex arithmetic on SAMD21 builds to make space
2020-11-30 13:47:56 -08:00
vkuthan
205d135e1a
Translated using Weblate (Czech)
Currently translated at 1.8% (16 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/cs/
2020-11-30 19:06:37 +01:00
Jonny Bergdahl
f65449027a
Translated using Weblate (Swedish)
Currently translated at 100.0% (864 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-11-30 19:06:37 +01:00
Wellington Terumi Uemura
5e5045ddf1
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (864 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-11-30 19:06:36 +01:00
Dan Halbert
0f0bbd85c8
Merge pull request #3770 from dhalbert/esp-uart-pins
ESP UART pins misnamed on some boards
2020-11-30 12:17:15 -05:00
Dan Halbert
dbfabddf58 rename ESP TX and RX pins; remove support 2020-11-30 11:11:04 -05:00
Dan Halbert
9768951a2a Disable complex arithmetic on SAMD21 builds to make space 2020-11-29 15:34:38 -05:00
Christian Walther
11ed6f86f0 Optimize out allocation moving code on boards that don't need it.
When no features are enabled that use movable allocations, supervisor_move_memory() is not needed.
2020-11-29 16:27:36 +01:00
Christian Walther
9ecaa16ece Unify redundant low/high_address computation to save a bit of code size. 2020-11-29 16:04:31 +01:00
Christian Walther
bde1c4166d Revert "Prevent exceptions from accumulating in REPL"
This reverts commit 0cd951fb73.

It is not a correct solution because it prevents printing the same exception twice.
2020-11-28 23:10:17 +01:00
Dan Halbert
848eb28132 esp-uart-pins 2020-11-28 14:52:56 -05:00
Christian Walther
993a581f5e Make CIRCUITPY_SUPERVISOR_ALLOC_COUNT dependent on enabled features.
Avoids wasted memory and makes it easier to keep track of who needs how much for future additions.
2020-11-28 17:54:34 +01:00
Christian Walther
7ca36d45a4 Fix align32_size().
It not only caused crashes with requests larger than 64K (can happen with RGBMatrix), but also generated a lot longer code than necessary.
2020-11-28 17:54:34 +01:00
Christian Walther
a4b84cf0e1 Use movable allocation system for RGBMatrix allocations.
Hybrid allocation is now part of the infrastructure. Moving memory contents would not be necessary because displayio can recreate them, but does not hurt.
2020-11-28 17:54:34 +01:00
Christian Walther
ac91220361 Use movable allocation system for Sharp display framebuffer.
Hybrid allocation is now part of the infrastructure. Moving memory contents would not be necessary because displayio can recreate them, but does not hurt.
2020-11-28 17:54:34 +01:00
Christian Walther
2ba9805f84 Use movable allocation system for terminal tilegrid.
Moving memory is now done by the infrastructure and neither necessary nor correct here anymore.
2020-11-28 17:54:34 +01:00
Christian Walther
c7404a3ff8 Add movable allocation system.
This allows calls to `allocate_memory()` while the VM is running, it will then allocate from the GC heap (unless there is a suitable hole among the supervisor allocations), and when the VM exits and the GC heap is freed, the allocation will be moved to the bottom of the former GC heap and transformed into a proper supervisor allocation. Existing movable allocations will also be moved to defragment the supervisor heap and ensure that the next VM run gets as much memory as possible for the GC heap.

By itself this breaks terminalio because it violates the assumption that supervisor_display_move_memory() still has access to an undisturbed heap to copy the tilegrid from. It will work in many cases, but if you're unlucky you will get garbled terminal contents after exiting from the vm run that created the display. This will be fixed in the following commit, which is separate to simplify review.
2020-11-28 17:50:23 +01:00
Dan Halbert
28d9e9186e Disable complex arithmetic on SAMD21 builds to make space 2020-11-28 10:12:46 -05:00
Dan Halbert
2830cc9433 make translate 2020-11-27 23:57:59 -05:00
Dan Halbert
65e2fe4654 fix stub problems; touch up doc 2020-11-27 23:27:15 -05:00
Dan Halbert
f96475cbbf update Requests; rolled back by accident 2020-11-27 16:24:36 -05:00
Dan Halbert
596e0e4bd2 merge from upstream 2020-11-27 16:06:57 -05:00
Dan Halbert
e308a9ec11 working! PinAlarm not implemented yet. 2020-11-27 16:03:37 -05:00
Limor "Ladyada" Fried
bd87201c4f
Merge pull request #3764 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-27 15:01:43 -05:00
Hosted Weblate
a4e310cfc2
Merge branch 'origin/main' into Weblate. 2020-11-27 19:34:07 +01:00
sporeball
884028c748
Translated using Weblate (Japanese)
Currently translated at 69.2% (598 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-11-27 19:34:06 +01:00
Iván Montiel Cardona
518328c71e
Translated using Weblate (Spanish)
Currently translated at 100.0% (864 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-11-27 19:34:06 +01:00
Limor "Ladyada" Fried
9b2eae49f9
Merge pull request #3766 from ehershey/patch-1
fix README typos
2020-11-27 13:33:53 -05:00
Ernie Hershey
3cde6c3fdc
README typos 2020-11-27 12:07:49 -05:00
Dan Halbert
104a089677 deep sleep working; deep sleep delay when connected 2020-11-26 22:06:37 -05:00
microDev
e90cb3ad86
Merge branch 'main' into fix-touch 2020-11-26 11:33:45 +05:30
microDev
6af48bb24c
reset touchin on every vm run 2020-11-26 11:22:44 +05:30
Hosted Weblate
9c779c7ab7
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-11-26 04:11:29 +01:00
Hosted Weblate
c1be2c0c19
Merge branch 'origin/main' into Weblate. 2020-11-26 04:11:27 +01:00
Daniel Bravo Darriba
cb14a2a824
Translated using Weblate (Spanish)
Currently translated at 100.0% (864 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-11-26 04:11:26 +01:00
Daniel Bravo Darriba
715b09bff2
Translated using Weblate (German)
Currently translated at 85.8% (742 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/de/
2020-11-26 04:11:26 +01:00
Jeff Epler
7923aa0a62
Merge pull request #3708 from hierophect/esp32s2-udp
ESP32-S2: Add UDP with recvfrom_into and sendto
2020-11-25 21:11:20 -06:00
Jeff Epler
6fd123a5c4
Merge pull request #3758 from tannewt/update_connect_doc
Update wifi.Radio.connect doc
2020-11-25 21:09:56 -06:00
Scott Shawcroft
abff2615cb
Merge pull request #3754 from hierophect/esp-spi-pinclaim
ESP32S2: fix pin claiming bugs
2020-11-25 15:11:29 -08:00
Scott Shawcroft
015ba00212
Merge pull request #3760 from arturo182/colorconverter_fix
displayio: Fix ColorConverter make_* methods
2020-11-25 15:03:24 -08:00
Scott Shawcroft
904fadbb5c
Merge pull request #3761 from arturo182/update_requests
Update the requests frozen library
2020-11-25 14:52:52 -08:00
Dan Halbert
ef0830bfe2 merge from upstream + wip 2020-11-25 17:52:06 -05:00
Scott Shawcroft
c284a57a99
Merge pull request #3757 from jamesbowman/main
Fix opcode typo in EVE VertexFormat()
2020-11-25 14:50:03 -08:00
Scott Shawcroft
35086587aa
Merge pull request #3756 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-25 14:49:31 -08:00
Hosted Weblate
5e38716817
Merge branch 'origin/main' into Weblate. 2020-11-25 22:41:00 +01:00
Scott Shawcroft
e7bab9e86b
Merge pull request #3759 from tannewt/recv_exit
Exit faster on recv when TLS connection closed
2020-11-25 13:40:52 -08:00
Dan Halbert
9dbea36eac changed alarm.time API 2020-11-25 15:09:27 -05:00
Lucian Copeland
a854da35d3 Fix masking issue causing pin claim problems 2020-11-25 12:14:56 -05:00
Lucian Copeland
c9bc877683 Merge remote-tracking branch 'upstream/main' into esp-spi-pinclaim 2020-11-25 10:43:35 -05:00
Dan Halbert
f868cc5dd0 some API renaming and bug fixes; fix docs 2020-11-24 23:37:05 -05:00
arturo182
0d9a0235a2 Update the requests frozen library 2020-11-25 03:48:50 +01:00
arturo182
ca1a85c47f displayio: Fix ColorConverter make_* methods 2020-11-25 03:39:14 +01:00
Scott Shawcroft
9a692c3222
Exit faster on recv when TLS connection closed
When a TLS connection is closed by the server it usually sends a
notice. We see this incoming byte with lwip_ioctl and try to read
it. The read returns 0 but we keep trying anyway. Now, we quit
trying when we get zero back. If the connection was still alive
it'd either read a byte or delay until a byte could be read.
2020-11-24 18:14:22 -08:00
Scott Shawcroft
4ac11c8d31
Update wifi.Radio.connect doc
Now it includes bssid info.
2020-11-24 17:54:39 -08:00
James Bowman
fc344bc818 Fix opcode typo in VertexFormat() 2020-11-24 17:26:39 -08:00
Hosted Weblate
8e76fce60a
Merge branch 'origin/main' into Weblate. 2020-11-25 02:11:53 +01:00
Mitsuharu Aoyama
be44c16e25
Translated using Weblate (Japanese)
Currently translated at 69.0% (597 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-11-25 02:11:52 +01:00
Jeff Epler
e778fc1f87
Merge pull request #3741 from hathach/fix-cdc-connection-race
update tinyusb to fix cdc connection race
2020-11-24 19:11:41 -06:00
hierophect
510f464234
Merge branch 'main' into esp32s2-udp 2020-11-24 18:28:10 -05:00
Hosted Weblate
fcafeb1766
Merge branch 'origin/main' into Weblate. 2020-11-25 00:22:30 +01:00
Wellington Terumi Uemura
4ca50982b7
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (864 of 864 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-11-25 00:22:30 +01:00
Scott Shawcroft
8364734ba3
Merge pull request #3749 from skerr92/add-cpsapling-spiflash
Add cpsapling spiflash
2020-11-24 15:22:21 -08:00
c451b22255 Disable 3-arg pow() function on m0 boards
`pow(a, b, c)` can compute `(a ** b) % c` efficiently (in time and memory).
This can be useful for extremely specific applications, like implementing
the RSA cryptosystem.  For typical uses of CircuitPython, this is not an
important feature.  A survey of the bundle and learn system didn't find
any uses.

Disable it on M0 builds so that we can fit in needed upgrades to the USB
stack.
2020-11-24 16:54:33 -06:00
Hosted Weblate
ff7bab12aa
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-11-24 23:45:47 +01:00
Hosted Weblate
7ca1cf6e22
Merge branch 'origin/main' into Weblate. 2020-11-24 23:45:45 +01:00
Wellington Terumi Uemura
241d920757
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (863 of 863 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-11-24 23:45:45 +01:00
Antonin ENFRUN
966e0b256c
Translated using Weblate (French)
Currently translated at 98.2% (848 of 863 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-11-24 23:45:44 +01:00
Scott Shawcroft
669f17e5bf
Merge pull request #3678 from microDev1/nvm-s2
ESP32S2: Support for NVM
2020-11-24 14:45:35 -08:00
Lucian Copeland
59458a9013 Add pin claiming to SPI construct 2020-11-24 16:46:11 -05:00
Lucian Copeland
e83c481f0f translations 2020-11-24 15:40:27 -05:00
hierophect
d0e75e635a
Merge pull request #3714 from microDev1/ps2io-S2
ESP32S2: Support for PS/2-IO
2020-11-24 14:56:09 -05:00
Lucian Copeland
0c5e0954db Add closed socket identification 2020-11-24 14:51:06 -05:00
Lucian Copeland
1031fe2992 correct submodule 2020-11-24 14:46:43 -05:00
1553a647ca build: Update to gcc10 preview 2020-11-24 13:09:37 -06:00
Lucian Copeland
ba6e15b070 Fix stubs 2020-11-24 11:32:18 -05:00
Jeff Epler
0836abba41
Merge pull request #3720 from tannewt/more_wifi_retry
Retry connection when getting NOT_AUTHED
2020-11-24 09:54:54 -06:00
hierophect
6a9339169a
Merge pull request #3737 from jgillick/thunderpack1.2
STM32: Add new STM board: Thunderpack v1.2
2020-11-24 10:52:57 -05:00
Jeff Epler
22af5a1fe9
Merge pull request #3728 from tannewt/speedup_json
Speed up JSON parsing with readinto
2020-11-24 09:42:18 -06:00
Jeff Epler
52e86f8de4
Merge pull request #3747 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-24 09:24:47 -06:00
hathach
bafa0501d1 update to have tud_connected() 2020-11-24 22:06:59 +07:00
Seth Kerr
686edcef3f fixing PID issues with CI Test (whoops) 2020-11-24 07:41:32 -05:00
jgillick
f8499a468e Remove filesystem from linker script. 2020-11-23 22:56:38 -08:00
microDev
bbe13490b5
Merge branch 'main' into nvm-s2 2020-11-24 12:24:48 +05:30
jgillick
570353b946 Merge remote-tracking branch 'circuitpython/main' into thunderpack1.2 2020-11-23 22:40:47 -08:00
microDev
6ff24410eb
use values pointer directly 2020-11-24 11:44:11 +05:30
microDev
9dd1783da5
Merge branch 'main' into ps2io-S2 2020-11-24 11:11:11 +05:30
Dan Halbert
7a45afc549 working, but need to avoid deep sleeping too fast before USB ready 2020-11-23 22:44:53 -05:00
Hosted Weblate
ea57615782
Merge branch 'origin/main' into Weblate. 2020-11-24 01:48:18 +01:00
Dan Halbert
ebdc48ae22
Merge pull request #3745 from kattni/magtag-pin-update
Add pin names from silk
2020-11-23 19:48:12 -05:00
Seth Kerr
e5cee98977 removing icy tree files/directory 2020-11-23 19:31:06 -05:00
Seth Kerr
0e628caa6f forgot the build.yml files 2020-11-23 19:23:22 -05:00
Seth Kerr
2635132ce5 adding 'haxpress' kind of build for CP Sapling for use with SPI Flash 2020-11-23 19:21:12 -05:00
Lucian Copeland
1c9f33a372 Replace reset with mux change 2020-11-23 19:01:30 -05:00
Lucian Copeland
86694262b8 Merge remote-tracking branch 'upstream/main' into esp32-pin-reset 2020-11-23 18:58:46 -05:00
Lucian Copeland
8ffd973e22 Merge remote-tracking branch 'upstream/main' into esp32s2-udp 2020-11-23 18:40:14 -05:00
Hosted Weblate
8aba80c033
Merge branch 'origin/main' into Weblate. 2020-11-24 00:20:03 +01:00
Scott Shawcroft
a80bf22211
Merge pull request #3727 from BennyE/wifi-full-scan
esp32s2: Do a full scan when channel/BSSID are not given
2020-11-23 15:19:57 -08:00
Hosted Weblate
bb064d7198
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-11-24 00:17:56 +01:00
Scott Shawcroft
f8dcb25170
Merge pull request #3694 from jepler/update-ulab2
ulab: Update to release tag 1.1.0
2020-11-23 15:17:46 -08:00
Scott Shawcroft
491e314799
Merge pull request #3718 from jepler/epd-rotation
EPaperDisplay: add rotation property
2020-11-23 15:04:26 -08:00
Scott Shawcroft
c67f5892ff
Merge pull request #3704 from microDev1/frequencyio-S2
ESP32S2: Support for FrequencyIO
2020-11-23 14:59:27 -08:00
Kattni Rembor
7928a0d454 Blank lines to group aliases. 2020-11-23 16:02:45 -05:00
Kattni Rembor
3730862362 Update to match silk rev 1 2020-11-23 15:56:36 -05:00
Kattni Rembor
efda912437 Add pin names from silk 2020-11-23 15:53:28 -05:00
Scott Shawcroft
368fa88312
Ignore size parameter 2020-11-23 12:14:58 -08:00
Jeff Epler
16fe2de703
Merge pull request #3732 from skerr92/add-cpsapling
adding CP-Sapling
2020-11-23 10:29:58 -06:00
70e978f48b stm: disable ulab on two resource-constrained boards 2020-11-23 10:23:53 -06:00
Jeff Epler
9d8be648ee ulab: Update to release tag 1.1.0
Disable certain classes of diagnostic when building ulab.  We should
submit patches upstream to (A) fix these errors and (B) upgrade their
CI so that the problems are caught before we want to integrate with
CircuitPython, but not right now.
2020-11-23 10:23:50 -06:00
jgillick
4c5e7520f5 Fix NVM by clearing FLASH_FLAG_PGPERR 2020-11-23 00:25:41 -08:00
hathach
5351a93c70 update tinyusb to fix cdc connection race
issue is fixed in https://github.com/hathach/tinyusb/pull/557
2020-11-23 13:39:14 +07:00
Dan Halbert
3abee9b256 compiles; maybe ready to test, or almost 2020-11-22 21:52:37 -05:00
Jeff Epler
211d084429
Merge pull request #3740 from dhalbert/esp32s2-common-hal-mcu-delay-us
ESP32S2: common_hal_mcu_delay_us() now calls mp_hal_delay_us()
2020-11-22 20:49:15 -06:00
Jeff Epler
7a5e355775
Merge pull request #3734 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-22 20:41:33 -06:00
jgillick
661c20dd18 Create a new linker script with more space for the firmware. 2020-11-22 18:25:37 -08:00
Dan Halbert
25591a3f8a Merge branch 'esp32s2-common-hal-mcu-delay-us' into sleep 2020-11-22 21:01:49 -05:00
Dan Halbert
a0f1ec3c4a wip 2020-11-22 19:10:09 -05:00
Dan Halbert
f62ea25331 ESP32S2: common_hal_mcu_delay_us() now calls mp_hal_delay_us() 2020-11-22 19:08:27 -05:00
microDev
f3b5ca5f01
replace goto with conditional break 2020-11-22 19:20:21 +05:30
microDev
048ca2a570
get multiple touchpad working 2020-11-22 18:54:18 +05:30
jgillick
fe6e50b770 Update USB_PID 2020-11-22 01:49:23 -08:00
jgillick
56634eb00e Rename thunderpack to v11 2020-11-22 01:31:41 -08:00
jgillick
381889f6bc Cleanup 2020-11-22 01:19:28 -08:00
jgillick
0b858440b0 Fix formatting. 2020-11-22 01:15:05 -08:00
jgillick
63b0bf9075 Merge remote-tracking branch 'origin/main' into thunderpack1.2 2020-11-22 01:07:03 -08:00
Dan Halbert
75559f35cc wip: ResetReason to microcontroller.cpu 2020-11-21 23:29:52 -05:00
Dan Halbert
e4c66990e2 compiles 2020-11-20 23:33:39 -05:00
Jonny Bergdahl
7b5e826b18
Translated using Weblate (Swedish)
Currently translated at 100.0% (848 of 848 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-11-20 23:28:56 +01:00
Noel Gaetan
f25ac45534
Translated using Weblate (French)
Currently translated at 100.0% (848 of 848 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-11-20 23:28:56 +01:00
Seth Kerr
8301dcada0 I need to revisit the alphabet... 2020-11-20 16:26:33 -05:00
Seth Kerr
0fb075ab7e changed tab to spaces in build.yml, passes local pre-commit 2020-11-20 16:15:50 -05:00
Seth Kerr
b34e36d1db fixing build.yml 2020-11-20 15:44:53 -05:00
Seth Kerr
1c92b1bf61 forgot to run pre-commit local 2020-11-20 15:35:52 -05:00
Seth Kerr
c4f4cdd8c1 readding cp_sapling directory 2020-11-20 15:31:49 -05:00
Seth Kerr
29e91424d4 removing cp sapling temporarily to read 2020-11-20 15:29:35 -05:00
Seth Kerr
b69bbfa3d6 fixed issues with trailing whitespace check 2020-11-20 15:17:44 -05:00
Seth Kerr
0a06530d52 adding CP-Sapling 2020-11-20 15:06:57 -05:00
BennyE
2773f534c9
Update ports/esp32s2/common-hal/wifi/Radio.c
adding suggested changes
2020-11-20 09:40:32 +01:00
Scott Shawcroft
123210a989
Speed up JSON parsing with readinto
Get a chunk of data from readinto instead of a single byte. This
speeds up the parsing by reducing the number of function calls.

Fixes #3703
2020-11-19 17:13:24 -08:00
BennyE
6760cdf678 Let connect() choose strongest AP if channel and BSSID are not given 2020-11-20 00:11:17 +01:00
Dan Halbert
39e1f52e28 wip; not compiling yet 2020-11-19 17:47:12 -05:00
BennyE
17a8bafe05 Choose best AP in range if no channel/bssid given 2020-11-19 23:39:48 +01:00
Scott Shawcroft
2f14609044
Merge pull request #3716 from jepler/keep-event-loop
esp32s2: don't delete the event loop
2020-11-19 14:28:31 -08:00
982bce7259 py.mk: allow translation to be overriden in GNUmakefile
I like to use local makefile overrides, in the file GNUmakefile
(or, on case-sensitive systems, makefile) to set compilation choices.
However, writing
    TRANSLATION := de_DE
    include Makefile
did not work, because py.mk would override the TRANSLATION := specified
in an earlier part of the makefiles (but not from the commandline).

By using ?= instead of := the local makefile override works, but when
TRANSLATION is not specified it continues to work as before.
2020-11-19 16:23:35 -06:00
aaca3eccf1 samd: PDMIn: Reduce code unrolling on samd21 only
Instead of unrolling the code 16 times, unroll it 4 times and loop
over it 4 times.  This gives the same 16 iterations, but at an expense
of less flash space.
2020-11-19 16:19:37 -06:00
b2b8520880 Always use preprocessor for MICROPY_ERROR_REPORTING
This ensures that only the translate("") alternative that will be used
is seen after preprocessing.  Improves the quality of the Huffman encoding
and reduces binary size slightly.

Also makes one "enhanced" error message only occur when ERROR_REPORTING_DETAILED:
Instead of the word-for-word python3 error message
"Type object has no attribute '%q'", the message will be
"'type' object has no attribute '%q'".  Also reduces binary size.
(that's rolled into this commit as it was right next to a change to
use the preprocessor for MICROPY_ERROR_REPORTING)

Note that the odd semicolon after "value_error:" in parsenum.c is necessary
due to a detail of the C grammar, in which a declaration cannot follow
a label directly.
2020-11-19 16:18:52 -06:00
c06fc8e02d Introduce, use mp_raise_arg1
This raises an exception with a given object value.  Saves a bit of
code size.
2020-11-19 16:15:06 -06:00
d5f6748d1b Use mp_raise instead of nlr_raise(new_exception) where possible
This saves a bit of code space
2020-11-19 16:13:01 -06:00
0556f9f851 Revert "samd21: Enable terse error reporting on resource constrained chip family"
This reverts commit 9a642fc049.
2020-11-19 15:12:56 -06:00
Dan Halbert
cd436bad1a Merge remote-tracking branch 'adafruit/main' into sleep 2020-11-19 15:43:49 -05:00
Dan Halbert
649c930536 wip 2020-11-19 15:43:39 -05:00
microDev
a25b27520d
update nvm implementation 2020-11-20 00:22:00 +05:30
microDev
bc9036f353
use pointer to get nvs handle 2020-11-20 00:15:30 +05:30
331aa6e59f displayio: When the display is tall, move blinka above the text
This makes a more useful display on the portrait magtag, allowing 21
characters across instead of just 18.  There are 20 full rows of text,
instead of 21.  The total number of characters increases slightly from 378
to 420.

For comparison, the Commodore VIC 20 had 22 rows of 23 characters for a
total of 506 characters. :-P
2020-11-19 11:43:18 -06:00
dd108b755d esp32s2: initialize event loop ane netif only once
deinitting these seems to cause problems.
2020-11-19 11:36:02 -06:00
Jeff Epler
60c608b927
Merge pull request #3721 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-19 10:44:41 -06:00
Hosted Weblate
142f281153
Merge branch 'origin/main' into Weblate. 2020-11-19 17:43:59 +01:00
Jeff Epler
d53ecac888
Merge pull request #3722 from tannewt/remove_file_urls
Update build board info.
2020-11-19 10:43:53 -06:00
Hosted Weblate
838f66de89
Merge branch 'origin/main' into Weblate. 2020-11-19 17:41:40 +01:00
Jeff Epler
f1e2931752
Merge pull request #3725 from kamtom480/fixed_stack
Return fixed stack on Spresense
2020-11-19 10:41:33 -06:00
Hosted Weblate
062f4b9c18
Merge branch 'origin/main' into Weblate. 2020-11-19 17:40:07 +01:00
Jeff Epler
3e6661bc9d
Merge pull request #3719 from tannewt/fix_palette_grayscale
Fix Palette grayscale
2020-11-19 10:39:57 -06:00
Kamil Tomaszewski
76d4824728 spresense: Return fixed stack 2020-11-19 15:04:52 +01:00
microDev
040eaa0443
re-organize and clean-up 2020-11-19 15:30:15 +05:30
microDev
b56645808c
fix crash on user code exit 2020-11-19 11:44:22 +05:30
Dan Halbert
5bb3c321e9 merge from main 2020-11-19 00:29:14 -05:00
Dan Halbert
682054a216 WIP: redo API; not compiled yet 2020-11-19 00:23:27 -05:00
9a642fc049 samd21: Enable terse error reporting on resource constrained chip family
This reclaims over 1kB of flash space by simplifying certain exception
messages.  e.g., it will no longer display the requested/actual length
when a fixed list/tuple of N items is needed:

        if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE) {
            mp_raise_ValueError(translate("tuple/list has wrong length"));
        } else {
            mp_raise_ValueError_varg(translate("requested length %d but object has length %d"),
                (int)len, (int)seq_len);

Other chip families including samd51 keep their current error reporting
capabilities.
2020-11-18 20:37:36 -06:00
Scott Shawcroft
b9bec87f29
Update build board info.
* Don't add full urls because they are too large.
* Remove the unstable version when it starts with the current
  version.
2020-11-18 17:38:06 -08:00
hexthat
b98835a1d7
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (848 of 848 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-11-19 02:28:48 +01:00
Scott Shawcroft
081aec4429
Retry connection when getting NOT_AUTHED
I saw it once with a correct password. Retrying may still fail
but at least it'll try first.
2020-11-18 16:39:34 -08:00
Scott Shawcroft
2463a6d6ac
Fix Palette grayscale for EInk.
It needs to do the bitmasking that was only added to ColorConverter
in #3611
2020-11-18 16:32:07 -08:00
f61f8f999b EPaperDisplay: add rotation property
untested, because I don't want to mess my magtag demo up :) but it builds
2020-11-18 18:06:31 -06:00
83d790ad8f esp32s2: don't delete the event loop
.. it seems to make the esp-idf grumpy.
2020-11-18 17:45:42 -06:00
Scott Shawcroft
8ac9b176c9
Merge pull request #3711 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-18 11:01:53 -08:00
microDev
0d3e81f969
update interrupt handling 2020-11-18 22:22:42 +05:30
microDev
bab41afce7
ps2io implementation for esp32s2 2020-11-18 12:34:56 +05:30
microDev
c457d373e1
update init_timer & frequency calculation 2020-11-18 12:24:48 +05:30
microDev
ff987e7496
add timer peripheral 2020-11-18 12:16:14 +05:30
Hosted Weblate
d999a1d6a9
Merge branch 'origin/main' into Weblate. 2020-11-18 02:11:47 +01:00
Scott Shawcroft
18513dedd1
Merge pull request #3710 from jepler/esp32-i2c-crash
esp32: Two random changes that also fixed the I2C crash for me
2020-11-17 17:11:41 -08:00
Hosted Weblate
ec591e9d7d
Merge branch 'origin/main' into Weblate. 2020-11-18 02:07:07 +01:00
Jeff Epler
226715b147
Merge pull request #3705 from jepler/try-ubuntu-20.04
Switch our workflows to ubuntu 20.04
2020-11-17 19:07:01 -06:00
Wellington Terumi Uemura
8ae7b99627
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (848 of 848 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-11-18 01:28:48 +01:00
9206925bf8 esp32s2: port_get_raw_ticks: Use a more efficient, monotonic routine
While trying to debug #3572, I noticed that I would frequently break in
the midst of gettimeofday and that the routine get_adjusted_boot_time
had to take and release locks.  Furthermore, we don't want "adjusted"
boot time, which could go forwards or backwards depending on the
adjustment (such as setting the clock used by gettimeofday() to the network
time)
2020-11-17 17:45:41 -06:00
1bc770c3dc esp32s2: PulseIn: Fix supervisor tick enabling
Before, there were two problems:
 * Even if a pulsein was never constructed, supervisor_disable_tick
   would occur during restart.  This could cancel out a supervisor_enable_tick
   from someplace else, with unexpected results.
 * If two or more pulseins were constructed, each one would enable ticks,
   but only the last one deinited (or the reset routine) would disable,
   leaving ticks running indefinitely.

In my testing, it seemed that this led to the board sometimes stopping when
it should have auto-reloaded.
2020-11-17 17:45:41 -06:00
Scott Shawcroft
e2b5ae2d77
Merge pull request #3689 from jepler/issue-3688
esp32s2: wifi: fix several debug-build errors
2020-11-17 13:26:43 -08:00
Jeff Epler
a185549316
Merge pull request #3706 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-17 15:21:21 -06:00
Lucian Copeland
0bbdf05936 Implement recvfrom_into and sendto for UDP 2020-11-17 16:11:04 -05:00
a0d305042c fix ubuntu-latest stragglers 2020-11-17 09:02:30 -06:00
7750b4d671 actions: Disable pagination of 'aws' commands
An anticipatory workaround for
https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration.html#cliv2-migration-output-pager
2020-11-17 09:02:30 -06:00
jgillick
5f0a372a22 Merge tag '6.0.0' into thunderpack1.2 2020-11-17 00:02:24 -08:00
jgillick
119e9d3820 Add Thunderpack 1.2 2020-11-16 23:50:00 -08:00
sabas1080
33ca357094 fix VID and PID 2020-11-16 22:10:37 -06:00
sabas1080
089fa82067 Fix pre-commit 2020-11-16 21:21:24 -06:00
Hosted Weblate
3b27810a3a
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-11-17 00:02:02 +01:00
Scott Shawcroft
66fb095069
Merge pull request #3667 from microDev1/watchdog-s2
ESP32S2: Support for WatchDog
2020-11-16 15:01:54 -08:00
Scott Shawcroft
f4fd236605
Merge pull request #3698 from BennyE/disablesoftap
esp32s2: Set station mode early to avoid SoftAP on startup
2020-11-16 14:51:57 -08:00
Scott Shawcroft
516a85aafe
Merge pull request #3702 from DavePutz/issue2056
Issue2056 - Prevent tracebacks from accumulating in REPL
2020-11-16 14:37:00 -08:00
Scott Shawcroft
f8eed1f74c
Merge pull request #3691 from jepler/issue-3424
esp32s2: Update esp-idf submodule to include fix for #3424
2020-11-16 14:21:13 -08:00
Scott Shawcroft
45ea2c5fb6
Merge pull request #3692 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-16 14:05:59 -08:00
9c4b6c34b8 see what happens if workflows move to ubuntu 20.04 2020-11-16 16:03:29 -06:00
microDev
0686cde226
update internal nvm size 2020-11-17 01:19:12 +05:30
microDev
18e463cca5
add pcnt overflow handler & clean-up 2020-11-16 23:32:22 +05:30
Dan Halbert
ffff02c053 Merge remote-tracking branch 'adafruit/main' into sleep 2020-11-16 12:06:11 -05:00
Dan Halbert
bb77f1d130 wip: initial code changes, starting from @tannewt's sleepio branch 2020-11-16 11:56:20 -05:00
root
0cd951fb73 Prevent exceptions from accumulating in REPL 2020-11-16 10:36:05 -06:00
DavePutz
3abc671bbd
Merge pull request #34 from adafruit/main
Update from adafruit/main
2020-11-16 10:30:10 -06:00
Enrique Casado
bff40fc1c9
Merge pull request #5 from adafruit/main
Merge latest changes
2020-11-16 10:29:22 +01:00
microDev
f2824f6a68
update frequency measurement 2020-11-16 12:55:55 +05:30
microDev
2bec02738f
move interrupt handler to iram 2020-11-16 11:44:11 +05:30
BennyE
d4ab00f734 Set station mode early to avoid SoftAP on startup 2020-11-16 00:31:06 +01:00
microDev
c4917cdabd
frequencyio implementation for esp32s2 2020-11-16 00:11:00 +05:30
hexthat
64725190f4
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (846 of 846 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-11-15 17:28:50 +01:00
Jonny Bergdahl
8218eb2ddf
Translated using Weblate (Swedish)
Currently translated at 100.0% (846 of 846 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-11-15 17:28:49 +01:00
Antonin ENFRUN
76d60ba95b
Translated using Weblate (French)
Currently translated at 100.0% (846 of 846 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-11-15 17:28:48 +01:00
RubenD
6c3c076cc1
Translated using Weblate (Spanish)
Currently translated at 99.2% (840 of 846 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-11-15 17:28:48 +01:00
Limor "Ladyada" Fried
f2e911ad91
Merge pull request #3680 from tannewt/magtag_builtin_display
Add board.DISPLAY to MagTag. Fix luma computation
2020-11-14 11:47:45 -05:00
231e3d362d esp32s2: Update esp-idf submodule to include fix for #3424
This re-points the submodule to my personal fork of esp-idf.
Users may need to `git submodule sync` in their existing trees when
this change occurs.

Adds just the following commit in esp-idf:
  > esp_crt_bundle: Allow verify_callback to correct BADCERT_BAD_MD
2020-11-14 10:16:39 -06:00
microDev
146adca060
Add watchdog mode raise 2020-11-14 11:41:14 +05:30
Scott Shawcroft
bda3267432
Save flash space
* No weak link for modules. It only impacts _os and _time and is
  already disabled for non-full builds.
* Turn off PA00 and PA01 because they are the crystal on the Metro
  M0 Express.
* Change ejected default to false to move it to BSS. It is set on
  USB connection anyway.
* Set sinc_filter to const. Doesn't help flash but keeps it out of
  RAM.
2020-11-13 18:57:52 -08:00
Scott Shawcroft
68eb809fbf
Update parallel bus signatures 2020-11-13 18:57:52 -08:00
Scott Shawcroft
78ccac930f
Add .busy property to EPaperDisplay 2020-11-13 18:57:52 -08:00
Scott Shawcroft
8d4296f964
Add board.DISPLAY to MagTag. Fix luma computation
* Initialize the EPaper display on the MagTag at start.
* Tweak the display send to take a const buffer.
* Correct Luma math
  * Multiply the blue component, not add.
  * Add all of the components together before dividing. This
    reduces the impact of truncated division.
2020-11-13 18:57:52 -08:00
Scott Shawcroft
9169878ebb
Merge pull request #3687 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-13 17:54:58 -08:00
Ricardo
7253b2eb31 fix name board 2020-11-13 09:22:42 -06:00
0f7081781e esp32s2: wifi: fix several debug-build errors
Closes #3688

With this change, I don't get the ESP_ERROR_CHECK failed repeatedly
running code that imports wifi.  (I'm not getting a successful connection
but that's probably my own fault, such as a secrets problem)
2020-11-12 20:40:45 -06:00
Hosted Weblate
1145fcaf3e
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-11-12 23:52:01 +01:00
Hosted Weblate
281e10fff5
Merge branch 'origin/main' into Weblate. 2020-11-12 23:51:59 +01:00
sporeball
2f2fe10e12
Translated using Weblate (Japanese)
Currently translated at 71.8% (607 of 845 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-11-12 23:51:58 +01:00
Scott Shawcroft
8d3a878152
Merge pull request #3681 from adafruit/6.0.x
Merge protomatter update back into `main`
2020-11-12 14:51:53 -08:00
Scott Shawcroft
c9952798fb
Merge pull request #3683 from BHDynamics/dynossat_edu
Rename pins on dynossat_edu_eps to make them the same as the Arduino core
2020-11-12 12:33:16 -08:00
Scott Shawcroft
5f84b790a7
Merge pull request #3682 from microDev1/pcnt-reset
ESP32S2: Reset PCNT on user code reload
2020-11-12 12:31:18 -08:00
Scott Shawcroft
42ca57ff8f
Merge pull request #3684 from adafruit/tannewt-patch-1
Change creation date back.
2020-11-12 12:01:27 -08:00
Scott Shawcroft
f4b10879fb
Change creation date back. 2020-11-12 11:48:01 -08:00
Enrique Casado
aa68b17223 Freed some more space 2020-11-12 13:26:26 +01:00
Enrique Casado
9774736a50 Rename pins to make them the same as the Arduino core 2020-11-12 12:30:34 +01:00
microDev
ff41180237
pcnt reset on reload 2020-11-12 16:30:30 +05:30
Dan Halbert
105ec12144
Merge pull request #3661 from jepler/protomatter-error-checking-6x
RGBMatrix: Detect invalid bit_depth selection
2020-11-11 20:26:25 -05:00
Scott Shawcroft
a47dea4922
Merge pull request #3671 from FoamyGuy/um_feathers2_board_spi_i2c
board.SPI() and board.I2C() for UnexpectedMaker Feather S2
2020-11-11 17:22:23 -08:00
Scott Shawcroft
51beeb017b
Merge pull request #3674 from microDev1/defualt-pin-def
Add default pin definitions for microS2
2020-11-11 17:13:40 -08:00
Scott Shawcroft
42ca0806ba
Merge pull request #3670 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-11 17:12:55 -08:00
Hosted Weblate
35248fd0a4
Merge branch 'origin/main' into Weblate. 2020-11-11 20:13:09 +01:00
hexthat
c96a86bd8a
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (845 of 845 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-11-11 20:13:09 +01:00
Maciej Stankiewicz
53e9c7b3bc
Translated using Weblate (Polish)
Currently translated at 72.1% (610 of 845 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-11-11 20:13:08 +01:00
Dan Halbert
fdb92b92fa
Merge pull request #3672 from tannewt/fix_eink_delay
Correct display sequence format docs
2020-11-11 14:13:00 -05:00
Dan Halbert
9817672df7 make translate on 6.0.x 2020-11-11 14:06:34 -05:00
microDev
35ef6c687f
nvm implementation for esp32s2 2020-11-11 23:11:12 +05:30
gamblor21
23ed3ef971 Removing frozen libs 2020-11-11 11:36:04 -06:00
gamblor21
f61c4e62c1 Removing from smaller builds 2020-11-11 10:24:33 -06:00
gamblor21
03b110b44c Add abort check in I2C lock 2020-11-11 09:58:08 -06:00
foamyguy
118ca7cff4 adding default uart pins 2020-11-11 06:56:57 -06:00
Enrique Casado
92d83f740d
Merge pull request #4 from adafruit/main
Merging 11/11 changes
2020-11-11 09:37:51 +01:00
microDev
f9842566d8
Add default pin definitions 2020-11-11 10:22:48 +05:30
Scott Shawcroft
9da99675b1
Correct display sequence format docs 2020-11-10 16:44:09 -08:00
foamyguy
8373146c56 newline end of file 2020-11-10 15:29:17 -06:00
Hosted Weblate
3e1414395d
Merge branch 'origin/main' into Weblate. 2020-11-10 22:10:04 +01:00
Maciej Stankiewicz
a1276be482
Translated using Weblate (Polish)
Currently translated at 71.5% (605 of 845 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-11-10 22:10:04 +01:00
Scott Shawcroft
ddb3590944
Merge pull request #3647 from DavePutz/issue3579
Issue3579 - Check for CTRL-C During sleep on esp32s2
2020-11-10 13:09:57 -08:00
Maciej Stankiewicz
b9294818da
Translated using Weblate (Polish)
Currently translated at 70.7% (598 of 845 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-11-10 21:52:54 +01:00
Szymon Jakubiak
b8f83643b5
Translated using Weblate (Polish)
Currently translated at 70.7% (598 of 845 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-11-10 21:52:54 +01:00
foamyguy
1192eebcdf adding spi and i2c to board for um feather s2 2020-11-10 14:12:44 -06:00
foamyguy
b9ccc62b97
Merge pull request #2 from adafruit/main
merging from adafruit
2020-11-10 14:02:22 -06:00
Lucian Copeland
21ca1b8c2b Merge remote-tracking branch 'upstream/main' into esp32s2-udp 2020-11-10 14:59:32 -05:00
Lucian Copeland
d16d27a449 Merge remote-tracking branch 'tannewt/esp32s2_udp' into esp32s2-udp 2020-11-10 14:51:36 -05:00
Scott Shawcroft
75a977febd
Merge pull request #3668 from jepler/esp32s2-stack-size
esp32s2: Correct port_stack_get_top()
2020-11-10 10:56:12 -08:00
microDev
10e8b8cf45
move port specific check 2020-11-11 00:24:01 +05:30
Scott Shawcroft
40b8bc0c84
Merge pull request #3666 from jepler/update-protomatter-1.0.10
protomatter: Update to upstream tag 1.0.10
2020-11-10 10:46:25 -08:00
root
fe7ed99939 Split out extern declare to ports/esp32s2/supervisor/esp_port.h 2020-11-10 12:45:39 -06:00
Scott Shawcroft
fd43c0a9fe
Merge pull request #3658 from FoamyGuy/foamyguy_unhide_tilegrid
Foamyguy unhide tilegrid
2020-11-10 10:39:59 -08:00
root
44425b8d94 Requested review changes made 2020-11-10 11:32:59 -06:00
2d8ebfcf63 esp32s2: Correct port_stack_get_top()
Closes #3649
2020-11-10 10:42:53 -06:00
b293aa7e09 protomatter: Update to upstream tag 1.0.10
Among other things this fixes a problem with blanking the display
and Closes #3664.
2020-11-10 09:12:16 -06:00
Enrique Casado
34ee6e3344
Merge pull request #3 from adafruit/main
Update main branch
2020-11-10 13:55:34 +01:00
Enrique Casado
57b5a5e756
Merge pull request #2 from adafruit/main
Pull latest changes
2020-11-10 13:38:51 +01:00
microDev
6c59836c5d
watchdog implementation for esp32s2 2020-11-10 16:32:46 +05:30
foamyguy
46c9b28dd8 use full_change instead of moved 2020-11-09 18:14:31 -06:00
Scott Shawcroft
61bf0e99c6
Merge pull request #3653 from tannewt/magtag
Rebrand EInk Portal to MagTag
2020-11-09 16:00:09 -08:00
Scott Shawcroft
0ebd4e615e
Merge pull request #3614 from microDev1/rotaryio-S2
ESP32S2: Support for RotaryIO
2020-11-09 15:41:07 -08:00
Scott Shawcroft
d1f15d314b
Rename to include display details 2020-11-09 15:03:22 -08:00
Ricardo
ee57bc4d83 fix name 2020-11-09 14:25:42 -06:00
Ricardo
78dffd8ef8 add board on build.yml 2020-11-09 14:17:25 -06:00
5554c27600 make translate 2020-11-09 09:49:43 -06:00
0ff20cdd85 RGBMatrix: Detect invalid bit_depth selection
Closes: #3650
2020-11-09 08:27:46 -06:00
foamyguy
9adb77a2d0 set moved true when unhiding tilegrid 2020-11-08 19:28:46 -06:00
foamyguy
cf21c4da60
Merge pull request #1 from adafruit/main
merge from adafruit
2020-11-08 18:32:15 -06:00
Jeff Epler
eec9821fdc
Merge pull request #3656 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-08 11:11:35 -06:00
Wellington Terumi Uemura
5505a3649f
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (845 of 845 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-11-08 11:26:47 +01:00
microDev
7ba2c5772c
Update license 2020-11-08 11:18:05 +05:30
microDev
55e0e2c4ba
Update rotaryio implementation 2020-11-08 11:12:32 +05:30
sabas1080
6a6e998ea5 Added BastBLE 2020-11-07 19:21:36 -06:00
microDev
479567059e
Merge branch 'main' into rotaryio-S2 2020-11-08 00:00:01 +05:30
Scott Shawcroft
9ef23e8659
Fix build board list 2020-11-06 15:29:58 -08:00
Scott Shawcroft
b2e83952c0
Rebrand EInk Portal to MagTag 2020-11-06 15:27:16 -08:00
Jeff Epler
18079c5bbe
Merge pull request #3652 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-06 17:19:27 -06:00
Hosted Weblate
cb159569c2
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-11-06 21:29:26 +01:00
Hosted Weblate
de7461dcfb
Merge branch 'origin/main' into Weblate. 2020-11-06 21:29:24 +01:00
sporeball
93193f2f0b
Translated using Weblate (Japanese)
Currently translated at 71.8% (606 of 844 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-11-06 21:29:24 +01:00
Scott Shawcroft
01c7a06dcc
Merge pull request #3615 from microDev1/CountIO-S2
ESP32S2: Support for CountIO
2020-11-06 12:29:13 -08:00
Jeff Epler
ec12477f5c
Merge pull request #3648 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-06 08:59:55 -06:00
root
f5f2036881 Merge branch 'issue3579' of https://github.com/DavePutz/circuitpython into issue3579 2020-11-05 21:29:02 -06:00
root
d948e6570f Changes to handle Ctrl-C during sleep 2020-11-05 21:27:21 -06:00
Hosted Weblate
f43a5ab324
Merge branch 'origin/main' into Weblate. 2020-11-05 22:16:48 +01:00
Dan Halbert
36a8828fa3
Merge pull request #3632 from dhalbert/add-binascii
add binascii to most builds
2020-11-05 16:16:41 -05:00
Jonny Bergdahl
8ce852e652
Translated using Weblate (Swedish)
Currently translated at 100.0% (844 of 844 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-11-05 21:26:46 +01:00
DavePutz
da04efbf2e
Fix missing include in port.c 2020-11-05 14:25:45 -06:00
microDev
ac8a0faa0d
update peripherals_pcnt_init() 2020-11-06 01:42:20 +05:30
Dan Halbert
81bb92bdd2
Merge pull request #3639 from tannewt/fix_recv
Rework socketpool.Socket.recv to return sooner
2020-11-05 14:11:13 -05:00
Scott Shawcroft
8fc1be5ef2
Merge pull request #3645 from BradChan/main
Modify the pins of the hiibot_bluefi.
2020-11-05 11:02:40 -08:00
root
c2aa54ae66 Check for Ctrl-C during sleeps 2020-11-05 11:10:40 -06:00
microDev
d8ef9a127b
rename pcnt_handler to pcnt 2020-11-05 10:10:39 +05:30
cyz
92cd599ea3 Modify the pins of the hiibot_bluefi. 2020-11-05 09:14:53 +08:00
DavePutz
2b4d12abcc
Merge pull request #33 from adafruit/main
update from adafruit/main
2020-11-04 15:02:52 -06:00
Scott Shawcroft
e02539bdf5
Merge pull request #3633 from ITACAInnovation/patch-2
Update pins.c
2020-11-04 10:30:09 -08:00
microDev
fe6bfde590
move pcnt handler 2020-11-04 21:20:24 +05:30
gamblor21
4c93db3595 Renamed to adafruit_bus_device 2020-11-03 18:35:20 -06:00
gamblor21
197539bd82 Moved I2CDevice and SPI to match python library 2020-11-03 17:30:33 -06:00
Lucian Copeland
472a5a99ec Add API reset to reset_pin_number 2020-11-03 16:31:53 -05:00
Scott Shawcroft
5a079256d5
Merge pull request #3642 from ehagerty/patch-1
Update README.md
2020-11-03 13:02:58 -08:00
ITACA Innovation S.R.L
ca935c0daf
Update pins.c
Changed builtin to standard
2020-11-03 21:22:19 +01:00
Scott Shawcroft
441c2c41fb
Merge pull request #3641 from adafruit/6.0.x
Merge 6.0.x bugfixes to main
2020-11-03 09:46:44 -08:00
Ed Hagerty
4055c5ac61
Update README.md 2020-11-03 17:14:58 +00:00
Limor "Ladyada" Fried
4938054c05
Merge pull request #3638 from ladyada/main
io naming for gpio (credit to @kattni)
2020-11-03 09:17:33 -05:00
Enrique Casado
f94cc090bb
Merge pull request #1 from adafruit/main
Merge latest CircuitPython changes (6.0.0-rc.1)
2020-11-03 11:17:51 +01:00
Limor "Ladyada" Fried
0d0436bf69
Merge pull request #3637 from hierophect/esp32s2-neopixel-parallel
ESP32S2: Fix parallel strip issue with Neopixels
2020-11-02 23:39:37 -05:00
lady ada
c4521287e3 add rx/tx default uart names 2020-11-02 23:22:53 -05:00
Scott Shawcroft
9bf77905e3
Merge pull request #3622 from sw23/main
Fixing remaining stub mypy issues + run check-stubs to CI
2020-11-02 18:16:32 -08:00
Scott Shawcroft
7441344c6f
Add new config options to default 2020-11-02 17:22:24 -08:00
sw23
88fcf4ef7e Removing implementation-specific values for socket/socketpool class attributes 2020-11-02 19:59:07 -05:00
Scott Shawcroft
18838e390a
reduce connection footprint and fix recv 2020-11-02 16:44:55 -08:00
Limor "Ladyada" Fried
9765b2c237
Merge pull request #3636 from dhalbert/feather-m4-can-pin-changes
Rev C Feather M4 CAN pin changes
2020-11-02 18:53:38 -05:00
Scott Shawcroft
73582c9ceb
Merge pull request #3635 from bd34n/bdmicro_vina_d51_major_pad_update
.../boards/bdmicro_vina_d51: PAD updates for better resource flexibility
2020-11-02 15:48:03 -08:00
lady ada
6c61a53e0f io naming for gpio (credit to @kattni) 2020-11-02 18:38:23 -05:00
Lucian Copeland
23afe08b6f Add GPIO reset to end of neopixel-write 2020-11-02 17:15:19 -05:00
Dan Halbert
1f7a3f0dfa Rev C Feather M4 CAN pin changes 2020-11-02 15:28:30 -05:00
Brian Dean
041c2a9f61 .../boards/bdmicro_vina_d51: PAD updates for better resource flexibility. 2020-11-02 08:35:25 -05:00
gamblor21
8bbbb2833a Fixes from testing SPI 2020-11-01 21:38:20 -06:00
ITACA Innovation S.R.L
4e52757f26
Update pins.c
Added LED, BOOST_EN and VEXT_SELECT pins.
2020-11-01 22:22:55 +01:00
Dan Halbert
72b829dff0 add binascii to most builds 2020-11-01 14:52:03 -05:00
Jeff Epler
b468bb6b92
Merge pull request #3631 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-11-01 13:22:28 -06:00
gamblor21
7dd53804a0 Fixed stubs again 2020-11-01 10:31:31 -06:00
Jonny Bergdahl
7a07e8fa32
Translated using Weblate (Swedish)
Currently translated at 100.0% (844 of 844 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-11-01 17:26:47 +01:00
Alvaro Figueroa
856a6d4558
Translated using Weblate (Spanish)
Currently translated at 99.2% (838 of 844 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-11-01 17:26:47 +01:00
gamblor21
76c1153380 Fixed stubs 2020-11-01 08:57:31 -06:00
Dan Halbert
a3f60e114a
Merge pull request #3630 from jerryneedell/jerryn_rfm
restore analogio to feather_m0_rfm9x/rfm69 builds
2020-11-01 08:58:49 -05:00
microDev
4438050f79
Add pcnt handler 2020-11-01 18:00:07 +05:30
Jerry Needell
1762a36438 restore analogio to feather_m0_rfm9x/rfm69 builds 2020-11-01 05:46:13 -05:00
Dan Halbert
6fba68b054
Merge pull request #3629 from adafruit/stubs-dir-name
Use correct stubs directory name
2020-10-31 23:19:16 -04:00
Jeff Epler
3845db4bb9
Update build.yml
Need to request zip to recurse, because it is not the default
2020-10-31 20:13:51 -05:00
Dan Halbert
073dc8751c
Use correct stubs directory name
The stubs directory is called `circuitpython-stubs`, not `stubs`.
2020-10-31 14:50:13 -04:00
Dan Halbert
aca53cf419
Merge pull request #3628 from jepler/fix-workflow-stubs
workflows: Fix typo that broke builds while trying to upload stubs
2020-10-31 14:37:07 -04:00
gamblor21
5ea09fe348 Fixed stubs 2020-10-31 13:37:05 -05:00
Dan Halbert
0c30a26c9b
Update .github/workflows/build.yml 2020-10-31 13:19:13 -04:00
gamblor21
78477a374a Initial SPI commit 2020-10-31 12:17:29 -05:00
80ad300cad workflows: Fix typo that broke builds while trying to upload stubs 2020-10-31 11:58:28 -05:00
Dan Halbert
144eb131ae
Merge pull request #3627 from adafruit/6.0.x
Merge 6.0.x bugfixes to main
2020-10-31 12:28:20 -04:00
Limor "Ladyada" Fried
0938d4e9c1
Merge pull request #3625 from ITACAInnovation/patch-2
Updated pinout
2020-10-31 11:45:59 -04:00
Jeff Epler
bbed1b0354
Merge pull request #3624 from dhalbert/usb-serial-detect-2
improve USB CDC disconnect/reconnect checking
2020-10-31 09:35:48 -05:00
ITACA Innovation S.R.L
9a8484b853
Update mpconfigboard.h
Removed ignore PA30 PA31 in order to allow using them as pinout
2020-10-31 11:06:56 +01:00
ITACA Innovation S.R.L
a7616808e9
Updated pinout 2020-10-31 10:12:49 +01:00
sw23
1f179b3317 Adding socket and socketpool class attributes 2020-10-30 23:19:27 -04:00
Dan Halbert
345d84ffde improve USB CDC disconnect/reconnect checking 2020-10-30 22:25:50 -04:00
sw23
8e72b68e3d Adding mypy to dep list and clarifying Stubs stage name 2020-10-30 19:16:26 -04:00
sw23
6a63d20a5d Fixing remaining stub mypy issues + run check-stubs to CI 2020-10-30 18:56:40 -04:00
Scott Shawcroft
09ae9aefa8
Merge pull request #3610 from Edrig/main
Add new board to nrf port: holyiot_nrf52840
2020-10-30 12:03:34 -07:00
Scott Shawcroft
f47ec650ca
Merge pull request #3601 from jepler/upload-stubs-s3
workflows: Upload stubs to s3
2020-10-30 11:53:44 -07:00
Scott Shawcroft
c7db9e5b53
Merge pull request #3621 from sw23/main
Fixing make stub warnings and mypy issues
2020-10-30 11:52:38 -07:00
sw23
9f3a1fe27b Fixing stub for wifi_radio_ping 2020-10-30 01:29:58 -04:00
sw23
ad166ca479 Fixing make stub warnings and mypy issuesmak 2020-10-29 20:15:34 -04:00
gamblor21
e7da852db7 Fixing review comments 2020-10-29 16:13:03 -05:00
Jeff Epler
05d663b183
Merge pull request #3613 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-29 12:43:49 -05:00
Hosted Weblate
c6e842cf9e
Merge branch 'origin/main' into Weblate. 2020-10-29 03:39:39 +01:00
Dan Halbert
937462df3c
Merge pull request #3616 from ladyada/main
add light sensor, move batt monitor
2020-10-28 22:39:34 -04:00
Dan Halbert
aba4447a22
Merge pull request #3618 from dhalbert/matrixportal-esp-tx-rx
matrixportal ESP TX and RX pins were swapped
2020-10-28 22:38:39 -04:00
Scott Shawcroft
7fd73c7d39
Initial UDP work. Need to test 2020-10-28 18:08:31 -07:00
Dan Halbert
59b9ca409c matrixportal ESP TX and RX pins were swapped 2020-10-28 20:33:10 -04:00
lady ada
25bad660c6 add light sensor, move batt monitor 2020-10-28 19:23:18 -04:00
e83be19d0f actions: Fix location of stubs upload 2020-10-28 17:48:12 -05:00
Hosted Weblate
d6f3d59487
Merge branch 'origin/main' into Weblate. 2020-10-28 22:45:41 +01:00
hexthat
a28755d53d
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (844 of 844 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-10-28 22:45:36 +01:00
Wellington Terumi Uemura
cbad75a7d2
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (844 of 844 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-28 22:45:35 +01:00
Scott Shawcroft
7cbc50962b
Merge pull request #3611 from tannewt/esp32s2_eink_portal
Add Adafruit ESP EInk Portal and grayscale EInk support
2020-10-28 14:45:29 -07:00
Noel Gaetan
34ce8d8642
Update build.yml 2020-10-28 22:43:54 +01:00
Gaetan
3dcee5be80 Fix: .github/workflows/build.yml 2020-10-28 22:38:13 +01:00
Gaetan
5ab2f16f64 Change Board Name to ADM_B_NRF52840_1
edit   :         .github/workflows/build.yml
rename :         ports/nrf/boards/holyiot_nrf52840/board.c -> ports/nrf/boards/ADM_B_NRF52840_1/board.c
rename :         ports/nrf/boards/holyiot_nrf52840/mpconfigboard.h -> ports/nrf/boards/ADM_B_NRF52840_1/mpconfigboard.h
rename :         ports/nrf/boards/holyiot_nrf52840/mpconfigboard.mk -> ports/nrf/boards/ADM_B_NRF52840_1/mpconfigboard.mk
rename :         ports/nrf/boards/holyiot_nrf52840/pins.c -> ports/nrf/boards/ADM_B_NRF52840_1/pins.c
2020-10-28 22:08:10 +01:00
microDev
5e3bfa1956
countio implementation for esp32s2 2020-10-28 20:08:25 +05:30
Scott Shawcroft
9a4efed8cb
Start tweaking the workflow to sleep 2020-10-27 17:55:03 -07:00
Gaetan
b44011d196 fix railing Whitespace pin.c 2020-10-28 01:43:42 +01:00
Gaetan
b5c95e3b1a Merge branch 'main' of https://github.com/Edrig/circuitpython into main
modifié :         boards/holyiot_nrf52840/pins.c
2020-10-28 00:40:46 +01:00
Gaetan
9b911b2211 modifié : pins.c 2020-10-28 00:38:07 +01:00
Gaetan
27827a4fef Fix EOF error
modifié :         mpconfigboard.mk
modifié :         pins.c
2020-10-28 00:34:07 +01:00
Scott Shawcroft
85dadf3a56
More API changes 2020-10-27 16:18:39 -07:00
Scott Shawcroft
1196d4bcf6
move to new module 2020-10-27 16:18:38 -07:00
microDev
354536c09f
Update translation 2020-10-27 16:18:33 -07:00
microDev
0e444f0de8
Implement sleep on code.py exit 2020-10-27 16:17:29 -07:00
microDev
930cf14dce
Add check for invalid io, function to disable all alarms 2020-10-27 16:17:26 -07:00
microDev
e35938971a
Add description of alarm modules 2020-10-27 16:16:55 -07:00
microDev
59df1a11ad
Add alarm_touch module 2020-10-27 16:16:52 -07:00
microDev
da449723df
Fix build error 2020-10-27 16:16:15 -07:00
microDev
4d8ffdca8d
restructure alarm modules 2020-10-27 16:15:09 -07:00
microDev
e5ff55b15c
Renamed alarm modules 2020-10-27 16:13:25 -07:00
microDev
21ba61afbb
Add function to disable alarm 2020-10-27 16:13:25 -07:00
microDev
05a3f203db
Add function to get time elapsed during sleep 2020-10-27 16:13:25 -07:00
microDev
e310b871c8
Get io wake working 2020-10-27 16:13:25 -07:00
microDev
3a30887b44
Update soft reboot message 2020-10-27 16:13:24 -07:00
microDev
90b9ec6f2c
Initial Sleep Support 2020-10-27 16:13:22 -07:00
Noel Gaetan
d0426b3438
Update pins.c
fix mistake
2020-10-27 23:54:46 +01:00
Hosted Weblate
34a0fec18e
Merge branch 'origin/main' into Weblate. 2020-10-27 22:11:46 +01:00
Scott Shawcroft
557a58b244
Merge pull request #3591 from microDev1/TouchIO-S2
ESP32S2: Support for native TouchIO
2020-10-27 14:11:39 -07:00
Hosted Weblate
32f6f64a28
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-27 22:01:17 +01:00
Hosted Weblate
e1be1e4f80
Merge branch 'origin/main' into Weblate. 2020-10-27 22:01:15 +01:00
Wellington Terumi Uemura
54c26a772b
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (839 of 839 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-27 22:01:14 +01:00
Adolfo Jayme Barrientos
91e85e8037
Translated using Weblate (Spanish)
Currently translated at 99.6% (836 of 839 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-10-27 22:01:14 +01:00
Scott Shawcroft
73162bda85
Merge pull request #3584 from jepler/can-esp32s2
esp32s2: implement canio
2020-10-27 14:01:07 -07:00
Scott Shawcroft
54c0e98a37
Fix openbook build 2020-10-27 13:58:23 -07:00
Scott Shawcroft
563a8934b7
Merge pull request #3603 from cwalther/boardspi
Fix lost board.SPI and board.I2C
2020-10-27 13:53:05 -07:00
microDev
80029f6929
rotaryio implementation for esp32s2 2020-10-28 00:12:13 +05:30
Hosted Weblate
e00ae204db
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-27 17:48:01 +01:00
Hosted Weblate
2cb9d2368c
Merge branch 'origin/main' into Weblate. 2020-10-27 17:47:57 +01:00
Jelle Jager
f2e79ce89d
Translated using Weblate (Dutch)
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-10-27 17:47:57 +01:00
_fonzlate
ba0a3769e3
Translated using Weblate (Dutch)
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-10-27 17:47:57 +01:00
Jeff Epler
5110fec312
Merge pull request #3608 from adafruit/6.0.x
Update main with latest 6.0.x
2020-10-27 11:47:44 -05:00
gamblor21
2374b0d013 Fixed whitespace issues 2020-10-27 09:13:14 -05:00
gamblor21
9ec224539b Clean up 2020-10-27 08:43:51 -05:00
3a501a0495 esp32s2: canio: respond to review comments
* explain the introduction of the temporary variable in get_t_config
 * get rid of unneeded __attribute__
 * get rid of unneeded members of canio_can_obj_t
 * get rid of unneeded header inclusion
2020-10-26 19:18:37 -05:00
2ba6659967 esp32s2: Makefile: restore --no-stub 2020-10-26 19:07:37 -05:00
Scott Shawcroft
d86c6a74a4
Add to CI build 2020-10-26 17:06:04 -07:00
Scott Shawcroft
95cb5961d2
Fix ESP32-S2 SPI when DMA is sometimes used 2020-10-26 16:59:59 -07:00
Scott Shawcroft
0d1649880f
Add grayscale EInk support 2020-10-26 16:59:59 -07:00
Scott Shawcroft
fc591c8d84
Add EInk Portal 2020-10-26 16:59:59 -07:00
Gaetan
cfaa02ef19 Fix error 2020-10-26 23:36:54 +01:00
Gaetan
5deb045a81 Ready to PR
* ../../.github/workflows/build.yml
	+ boards/holyiot_nrf52840/board.c
	+ boards/holyiot_nrf52840/mpconfigboard.h
	+ boards/holyiot_nrf52840/mpconfigboard.mk
	+ boards/holyiot_nrf52840/pins.c
2020-10-26 23:32:57 +01:00
gamblor21
8a379830a8 Added doc and translations 2020-10-26 16:54:24 -05:00
Mark
fa35c3fa7c
Merge pull request #3609 from tannewt/6.0.x
Use old translation date to avoid merge conflict
2020-10-26 16:49:38 -05:00
Christian Walther
99a3750a2c Fix lost board.SPI and board.I2C after explicitly deiniting them.
After calling board.SPI().deinit(), calling board.SPI() again would return the unusable deinited object and there was no way of getting it back into an initialized state until the end of the session.
2020-10-26 22:44:38 +01:00
Christian Walther
f4f80e07ca Fix lost board.SPI and board.I2C after being used by display.
Fixes #3581.

Pins were marked as never_reset by common_hal_displayio_fourwire_construct() and common_hal_sharpdisplay_framebuffer_construct(), but these marks were never removed, so at the end of a session after displayio.release_displays(), {spi|i2c}_singleton would be set to NULL but the pins would not be reset. In the next session, board.SPI() and board.I2C() were unable to reconstruct the object because the pins were still in use.

For symmetry with creation of the singleton, add deinitialization before setting it to NULL in reset_board_busses(). This makes the pins resettable, so that reset_port(), moved behind it, then resets them.
2020-10-26 22:44:38 +01:00
Christian Walther
1117edae63 Fix erroneous claim of board.I2C() by deinited display.
At the end of a session that called displayio.release_displays() (and did not initialize a new display), a board.I2C() bus that was previously used by a display would wrongly be considered still in use. While I can’t think of any unrecoverable problem this would cause in the next session, it violates the assumption that a soft reboot resets everything not needed by displays, potentially leading to confusion.

By itself, this change does not fix the problem yet - rather, it introduces the same issue as in #3581 for SPI. This needs to be solved in the same way for I2C and SPI.
2020-10-26 22:44:38 +01:00
Scott Shawcroft
81ab6a05d0
Use old translation date to avoid merge conflict 2020-10-26 13:25:00 -07:00
Scott Shawcroft
1e0f12d504
Merge pull request #3602 from jepler/update-ulab-2
ulab: Incorporate bugfixes (update to tag 0.54.5, was 0.54.0)
2020-10-26 13:18:10 -07:00
Jeff Epler
caca0609bd
Merge pull request #3607 from hierophect/esp32-readme-clarity
ESP32-S2: Fix readme link, improve instruction clarity
2020-10-26 12:43:51 -05:00
c9f7df3bab canio: Give implementation-specific limits for CAN.Listen 2020-10-26 10:06:49 -05:00
Lucian Copeland
32f2a8d54c Fix readme link 2020-10-26 11:03:54 -04:00
bdc1343791 make translate 2020-10-26 09:55:32 -05:00
396d92f867 esp32s2: Add canio
This works in loopback mode, though the hardware filtering only permits a
single address or mask filter.
2020-10-26 09:54:58 -05:00
Jeff Epler
b5b9392a3a
Merge pull request #3606 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-26 08:37:42 -05:00
Hosted Weblate
a891321f4f
Merge branch 'origin/main' into Weblate. 2020-10-26 03:36:03 +01:00
Jonny Bergdahl
998661246c
Translated using Weblate (Swedish)
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-10-26 03:36:02 +01:00
Jeff Epler
3f529855d1
Merge pull request #3605 from Senuros/main
Improving German translation
2020-10-25 21:35:54 -05:00
Senuros
c43011f149 Improving German translation 2020-10-25 22:08:10 +01:00
85aa851714 make translate 2020-10-25 15:21:13 -05:00
543316a8fb ulab: Update again
.. pull in various doc build fixes that prevented the previous commit from building.  This is still "0.54.5", the tag was updated in micropython-ulab (since no functional difference was introduced, only doc and CI differences, I imagine)
2020-10-25 13:26:55 -05:00
gamblor21
12d770b427 Added __probe_for_device 2020-10-25 10:15:45 -05:00
gamblor21
b637d3911e Initial commit 2020-10-24 20:48:35 -05:00
4cad5478e6 ulab: Incorporate bugfixes (update to tag 0.54.5)
In particular, this closes #3954.
2020-10-24 13:16:10 -05:00
Jeff Epler
b4eb27557d workflows: Upload stubs to s3 2020-10-24 07:28:27 -05:00
Scott Shawcroft
9df61899a2
Merge pull request #3599 from 0-Arngerdur-1/main
Fix typos and fix translate
2020-10-23 16:50:11 -07:00
0-Arngerdur-1
2ebd06f8ee Fix typos and fix translate 2020-10-23 15:14:45 -05:00
Scott Shawcroft
c676385200
Merge pull request #3593 from tinomtzlpz/main
Update es.po
2020-10-23 12:11:54 -07:00
microDev
ef97ed6ab6
Update touchio implementation 2020-10-23 13:17:49 +05:30
askpatricw
e2c833adf4 Merge branch 'main' of https://github.com/adafruit/circuitpython into main 2020-10-22 21:59:54 -07:00
Jeff Epler
2581d099ca
Merge pull request #3592 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-22 21:25:14 -05:00
Hosted Weblate
987ee3bf22
Merge branch 'origin/main' into Weblate. 2020-10-23 00:15:59 +02:00
Alvaro Figueroa
efd8f1ab88
Translated using Weblate (Spanish)
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-10-23 00:15:59 +02:00
Scott Shawcroft
64c6d6d7e9
Merge pull request #3498 from jepler/sharpdisplay-reuse-supervisor-heap
Sharpdisplay: reuse supervisor heap
2020-10-22 15:15:48 -07:00
Tino Martínez
73aae6bbcd
Update es.po
Fixed typos UARL -> UART
2020-10-22 16:09:17 -05:00
Scott Shawcroft
a899433dab
Merge pull request #3590 from jerryneedell/jerryn_cpb_spi
fix CPB SPI pin definitions
2020-10-22 13:49:25 -07:00
hexthat
f4f6b082b4
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-10-22 22:48:53 +02:00
Antonin ENFRUN
04cf88deae
Translated using Weblate (French)
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-10-22 22:48:52 +02:00
Scott Shawcroft
c8808f41a5
Merge pull request #3580 from astrobokonon/esp32s2-FixSTAMODE
ESP32S2: Reset sta_mode and ap_mode flags
2020-10-22 13:48:45 -07:00
b520498c73 sharpdisplay: Re-use supervisor allocations if possible
This is enabled by #3482

I was unable to determine why previously I had added sizeof(void*)
to the GC heap allocation, so I removed that code as a mistake.
2020-10-22 12:36:12 -05:00
microDev
f431f859e7
Initial support for native touchio 2020-10-22 21:32:44 +05:30
askpatricw
e2b7fe3f0e Merge branch 'main' of https://github.com/adafruit/circuitpython into main 2020-10-21 23:17:40 -07:00
Jeff Epler
2d2503c49d
Merge pull request #3573 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-21 21:34:13 -05:00
Hosted Weblate
4f92deedcc
Merge branch 'origin/main' into Weblate. 2020-10-22 03:12:26 +02:00
Jonny Bergdahl
05e4172ea0
Translated using Weblate (Swedish)
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-10-22 03:12:26 +02:00
Jeff Epler
fa4c4c2c10
Merge pull request #3587 from adafruit/6.0.x
Merge in two fixes from 6.0.x
2020-10-21 20:12:20 -05:00
Jerry Needell
ff69ab603d fix CPB SPI pin definitions 2020-10-21 17:07:30 -04:00
Wellington Terumi Uemura
7d1c1c815d Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (836 of 836 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-21 22:45:21 +02:00
Hosted Weblate
41d02fd53d Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-21 22:45:21 +02:00
Wellington Terumi Uemura
c65b0985b8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (835 of 835 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-21 22:45:21 +02:00
Hosted Weblate
ea6ef8b142 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-21 22:45:21 +02:00
Scott Shawcroft
50e90088a2
Merge pull request #3586 from Targett363/esp32s2_module_clip
Esp32s2 module clip
2020-10-21 12:58:23 -07:00
Scott Shawcroft
1921143838
Merge pull request #3578 from jepler/fix-mac-actions
build.yml: Fix building mpy-cross-mac
2020-10-21 12:45:16 -07:00
Ryan T. Hamilton
e202da4dad Change comment wording 2020-10-20 15:14:35 -07:00
Ryan T. Hamilton
c58b0adf64 Reset sta_mode and ap_mode flags 2020-10-20 14:49:57 -07:00
599bacb0b4 build.yml: Fix building mpy-cross-mac
Recently, the macos-10.15 image was updated with a non-brew version of awscli.  This made our CI script, which does a `brew install awscli` fail:
```
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/aws
Target /usr/local/bin/aws
already exists. You may want to remove it:
  rm '/usr/local/bin/aws'
```
2020-10-20 13:25:17 -05:00
Scott Shawcroft
1a677406bf
Merge pull request #3529 from jensechu/color-converter-transparency
displayio: Pass transparent_color to ColorConverter
2020-10-20 10:41:57 -07:00
Scott Shawcroft
098fd3efd2
Merge pull request #3566 from microDev1/patch-1
Update port status in readme
2020-10-20 10:34:24 -07:00
Scott Shawcroft
30691e66e3
Merge pull request #3574 from tannewt/fix_matrixportal_pins
Correct pins to not reset.
2020-10-20 10:31:06 -07:00
Scott Shawcroft
1092890266
Merge pull request #3577 from cwalther/nproc
Fix missing `nproc` on macOS
2020-10-20 10:13:19 -07:00
Scott Shawcroft
8beb36c240
Use one lto partition
This leads to smaller code size at the expense of slower linking.

We can turn partitioning back on with GCC10 because it produces smaller code.
2020-10-20 09:24:03 -07:00
Christian Walther
1eab0692b5 Fix missing nproc on macOS.
396979a breaks building on macOS: `nproc` is a Linux thing, use a cross-platform alternative.
2020-10-20 16:39:32 +02:00
543073b198 zh_Latn_pinyin: Use ASCII alternatives to fullwidth chars 2020-10-20 08:13:11 -05:00
Targett363
a2fce305d6 Replacing placeholder PIDs with correct PIDs 2020-10-20 10:42:14 +01:00
microDev
13387121fe
Update readme 2020-10-20 09:23:45 +05:30
Scott Shawcroft
eb139c9bab
Correct pins to not reset.
They must have the PORT_ prefix otherwise they mask the wrong pins.

Fixes #3552
2020-10-19 17:41:16 -07:00
Jensen Kuras
38c8248b9e
Merge branch 'main' into color-converter-transparency 2020-10-19 18:13:44 -05:00
Scott Shawcroft
c5d8c12e34
Merge pull request #3563 from gamblor21/recv_into_size_check
Add socketpool.socket.recv_into size check
2020-10-19 15:40:41 -07:00
Jensen Kuras
d2dada869c
displayio: Update docs for ColorConverter's make_opaque
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2020-10-19 17:27:01 -05:00
Scott Shawcroft
d606a3e968
Merge pull request #3484 from astrobokonon/esp32s2-morenet
Esp32s2: Expose more network parameters
2020-10-19 15:07:20 -07:00
Scott Shawcroft
d98b312886
Merge pull request #3541 from jepler/lto-parallel
atmel-samd: parallelize lto linking
2020-10-19 15:05:45 -07:00
DavePutz
3856da9968
Merge pull request #32 from adafruit/main
Update from adafruit/main
2020-10-19 11:44:23 -05:00
Jeff Epler
f8d37c0074
Merge pull request #3570 from askpatrickw/UMFeatherS2-SCL-SDA
SDA and SCL are flipped
2020-10-18 20:40:20 -05:00
askpatricw
d6805c0dd4 SDA and SCL were flipped 2020-10-18 17:15:59 -07:00
Jeff Epler
64eb159d6a
Merge pull request #3569 from Senuros/main
Adding some more german translations
2020-10-18 09:45:44 -05:00
Jeff Epler
579f9b0cfa
Merge pull request #3568 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-18 09:44:30 -05:00
Senuros
852c57c661 Adding some more german translations 2020-10-18 03:40:02 +02:00
cc411f47eb samd: Update peripherals submodule
(https://github.com/adafruit/samd-peripherals/pull/37)
2020-10-17 20:08:32 -05:00
fb768dfc14 samd: AnalogOut: Better handle boards which IGNOREd analog pins 2020-10-17 20:08:32 -05:00
194d99f588 sparkfun_lumidrive: Can't IGNORE pins that are default bus pins
The SDA, SCL, and MISO pins were ignored.  This error was not diagnosed
before now.
2020-10-17 20:08:32 -05:00
eb0b023dee samd: extend IGNORE_PIN_foo to all sam e5x/e5x pins 2020-10-17 20:08:32 -05:00
4b9fc5de53 samd: update peripherals submodule
this is possible now that the undefined reference to pin_PA30 has been
resolved.
2020-10-17 20:08:32 -05:00
aa3c890ead samd: pin: Fix 'undefined reference to pin_PA30'
.. when PA30 is IGNOREd
2020-10-17 20:08:32 -05:00
396979a67e atmel-samd: parallelize lto linking
This decreases the link time, especially on desktop machines with many CPU
cores.  However, it does come at a slight cost in binary size, making the flash
section about 200 bytes bigger for circuitplayground_express.

Before, linking build-circuitplayground_express/firmware.elf takes
8.8s elapsed time, leaving 3128 bytes free in flash.

After, linking build-circuitplayground_express/firmware.elf takes 2.8s elapsed
time, leaving 2924 bytes free in flash. (-6 seconds, -204 bytes free)

If necessary, we can make this per-board or even per-translation to squeeze full
builds.
2020-10-17 20:08:32 -05:00
Antonin ENFRUN
c85a845ff4
Translated using Weblate (French)
Currently translated at 100.0% (834 of 834 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-10-17 17:35:28 +02:00
Noel Gaetan
a71885c391
Translated using Weblate (French)
Currently translated at 100.0% (834 of 834 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-10-17 17:35:28 +02:00
Jeff Epler
539e6c6bf6
Merge pull request #3567 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-17 10:35:21 -05:00
Noel Gaetan
7cf776d39e
Update CONTRIBUTING.md
test fix url 404
2020-10-17 17:11:17 +02:00
Noel Gaetan
dc10e96814
Update CONTRIBUTING.md 2020-10-17 16:54:13 +02:00
Ryan T. Hamilton
76f1db7a87 Set sta_mode flag for actual use/checking 2020-10-17 00:23:31 -07:00
hexthat
1e7e5eb1ff
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (834 of 834 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-10-17 04:31:46 +02:00
Alvaro Figueroa
1efcb975ab
Translated using Weblate (Spanish)
Currently translated at 100.0% (834 of 834 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-10-17 04:31:45 +02:00
Jeff Epler
3c05a8c68c
Merge pull request #3482 from cwalther/alloc
Fix inconsistent supervisor heap
2020-10-16 21:31:32 -05:00
Jensen
fc3f2a3f7f displayio: Remove trailing whitespace 2020-10-16 20:05:39 -05:00
Jensen Kuras
575b2e607b
Merge branch 'main' into color-converter-transparency 2020-10-16 19:55:24 -05:00
Jensen
74c07a4bdc displayio: Add in opaque pixel option for future 2020-10-16 19:50:41 -05:00
Mark
8e6d3e5b91
Merge branch 'main' into recv_into_size_check 2020-10-16 15:52:45 -05:00
microDev
de328c3be9
Update port status in readme 2020-10-17 02:22:15 +05:30
gamblor21
645382d51d Updated translation 2020-10-16 14:21:00 -05:00
Scott Shawcroft
f0b37313c5
Merge pull request #3565 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-16 11:40:10 -07:00
Wellington Terumi Uemura
fdb5ce477e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (834 of 834 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-16 20:30:49 +02:00
Scott Shawcroft
878f2322e7
Merge pull request #3564 from BHDynamics/dynossat_edu
Add DynOSSAT-EDU boards
2020-10-16 11:30:42 -07:00
Scott Shawcroft
6e355ec598
Merge pull request #3560 from dhalbert/pervasive-bleio-hci
enable CIRCUITPY_BLEIO_HCI on non-nRF boards where it will fit
2020-10-16 10:00:50 -07:00
Enrique Casado
6631c8d393 Add USB VID&PID 2020-10-16 13:52:46 +02:00
Ryan T. Hamilton
9d840aab0b Cleaned up and now testing 2020-10-15 23:45:11 -07:00
Ryan T. Hamilton
b336039aab Disable the long way and return an ap_info object
still needs work and cleanup
2020-10-15 23:18:30 -07:00
Scott Shawcroft
2ab1552484
Merge pull request #3551 from jepler/displayio-multidisplay-leak
displayio: further ensure just one start_terminal call
2020-10-15 17:09:43 -07:00
gamblor21
fa75231ae3 Added max size check to recv_into 2020-10-15 18:46:42 -05:00
Dan Halbert
12ed3fc72f disable on winterbloom_sol and thunderpack 2020-10-15 18:48:28 -04:00
Scott Shawcroft
6b272eeb27
Merge pull request #3555 from UnexpectedCircuitPython/main
Added default LWIP hostnames to FeatherS2 boards
2020-10-15 15:12:40 -07:00
Scott Shawcroft
31223e4ae5
Merge pull request #3530 from askpatrickw/hostname-example
Set default hostname
2020-10-15 15:11:58 -07:00
Dan Halbert
1d05ad6b22 no _bleio for litex; ESP32S2 defines BIT() already 2020-10-15 16:34:19 -04:00
88d07ef35b displayio: further ensure just one start_terminal call
@cwalther determined that for boards with 2 displays (monster m4sk),
start_terminal would be called for each one, leaking supervisor heap
entries.

Determine, by comparing addresses, whether the display being acted on
is the first display (number zero) and do (or do not) call start_terminal.

stop_terminal can safely be called multiple times, so there's no need
to guard against calling it more than once.

Slight behavioral change: The terminal size would follow the displays[0]
size, not the displays[1] size
2020-10-15 15:24:19 -05:00
Jeff Epler
a57c5a10f6
Merge pull request #3561 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-15 15:07:20 -05:00
Seon Rozenblum
45a3bd1c04 Added default LWIP hostnames to FeatherS2 boards 2020-10-16 06:47:59 +11:00
Dan Halbert
f51e75c1d2 cxd56 needed more precise include for __packed; needed SRC_C += on some ports 2020-10-15 15:24:24 -04:00
Hosted Weblate
6bfb6afaca
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-15 20:17:16 +02:00
9a2ab36fa5 Translated using Weblate (French)
Currently translated at 92.1% (767 of 832 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-10-15 20:17:14 +02:00
f36336e171 Translated using Weblate (French)
Currently translated at 92.1% (767 of 832 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-10-15 20:17:14 +02:00
Scott Shawcroft
b67acea587
Merge pull request #3547 from microDev1/wifiHost
Add method to set custom hostname
2020-10-15 11:17:07 -07:00
Dan Halbert
82b49afe43 enable CIRCUITPY_BLEIO_HCI on non-nRF boards where it will fit 2020-10-15 11:27:21 -04:00
Enrique Casado
97fae54659 Add DynOSSAT-EDU boards 2020-10-15 12:39:14 +02:00
microDev
26fd2c6223
Add hostname validation 2020-10-15 16:08:01 +05:30
Jensen
b02a5bcbd5 displayio: Remove verbose error 2020-10-14 23:05:19 -05:00
Jensen
cb0a4abc95 displayio: new translation strings 2020-10-14 22:22:48 -05:00
Jensen
3c5a08628a Merge branch 'color-converter-transparency' of github.com:jensechu/circuitpython into color-converter-transparency 2020-10-14 21:52:49 -05:00
Jensen
2517e4b486 displayio: ColorConverter handle if opaque color is black 2020-10-14 21:51:40 -05:00
Dan Halbert
f1e8f2b404
Merge pull request #3554 from gamblor21/move_ordereddict
Moved ORDEREDDICT define to central location
2020-10-14 22:39:04 -04:00
gamblor21
f6f89565d8 Remove ordered dict from SAMD21 2020-10-14 20:18:49 -05:00
gamblor21
0a9bcc538b Removed ordered dict for all SAMD21 2020-10-14 20:15:21 -05:00
Scott Shawcroft
b84f22aa0c
Merge pull request #3557 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-14 12:36:41 -07:00
gamblor21
e6d0b207ec Removed MICROPY_PY_COLLECTIONS_NAMEDTUPLE__ASDICT from unix coverage 2020-10-14 14:06:34 -05:00
Jonny Bergdahl
fead0433bd
Translated using Weblate (Swedish)
Currently translated at 100.0% (832 of 832 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-10-14 20:12:34 +02:00
Scott Shawcroft
cc8f8d8604
Merge pull request #3549 from tannewt/stm_alarm_tweak
Fix stm sleep too long
2020-10-14 11:12:26 -07:00
DavePutz
5f3ef9f7c6
Merge pull request #31 from adafruit/main
Update from adafruit/main
2020-10-14 12:26:14 -05:00
Limor "Ladyada" Fried
579e508769
Merge pull request #3556 from bd34n/board_bdmicro_vina_d51_qstr_fix
boards/bdmicro_vina_d51/pins.c: Fix illegal QSTR name (hyphen).
2020-10-14 11:09:24 -04:00
Brian Dean
852a91e1b7 boards/bdmicro_vina_d51/pins.c: Fix illegal QSTR name (hyphen). 2020-10-14 08:29:28 -04:00
microDev
18fbff4f57
Update wifi hostname method 2020-10-14 11:11:59 +05:30
Limor "Ladyada" Fried
e9c04bc1f0
Merge pull request #3550 from bd34n/bdmicro_vina_d51
Add new board to atmel-samd port: bdmicro_vina_d51
2020-10-13 23:15:25 -04:00
gamblor21
4270061db4 Moved ORDEREDDICT define to central location 2020-10-13 18:52:27 -05:00
Brian Dean
af2a23bd18 workflows/build.yml - Add forgotten vina_d51 board. 2020-10-13 17:08:30 -04:00
Scott Shawcroft
56427d9abe
Fix stm sleep too long 2020-10-13 14:02:29 -07:00
Brian Dean
2b33968a1e Add new board to atmel-samd port: bdmicro_vina_d51 2020-10-13 16:46:25 -04:00
Scott Shawcroft
3d21eec3cd
Merge pull request #3546 from tannewt/rtc_irq
Finer grained, per port tick locking
2020-10-13 13:39:32 -07:00
Scott Shawcroft
a010dc35fa
Merge pull request #3544 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-13 12:29:44 -07:00
Scott Shawcroft
2bc40bcadf
Remove readreq when changing continuous 2020-10-13 10:15:34 -07:00
hexthat
b9c5fb57ff Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (832 of 832 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-10-13 19:11:07 +02:00
Wellington Terumi Uemura
6e38bf629b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (832 of 832 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-13 19:11:07 +02:00
Hosted Weblate
1d4d269092 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-13 19:11:07 +02:00
Noel Gaetan
cfa3163a7e Translated using Weblate (French)
Currently translated at 92.4% (767 of 830 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-10-13 19:11:06 +02:00
Scott Shawcroft
33dee4ae07
Merge pull request #3545 from tannewt/stm_rtc
Fix STM RTC read so it's atomic.
2020-10-13 10:10:50 -07:00
microDev
ceb531086e
Add method to set custom hostname 2020-10-13 14:22:02 +05:30
Jensen Kuras
de9ea47e8e
Merge branch 'main' into color-converter-transparency 2020-10-12 20:48:55 -05:00
Jensen
337019626a displayio: Add make_transparent to ColorConverter 2020-10-12 20:48:04 -05:00
Jensen
b359e2945a displayio: Add make_transparent and make_opaque to ColorConvertor 2020-10-12 20:48:04 -05:00
Jensen
57b44928a3 displayio: Pass transparent_color to ColorConverter
Signed-off-by: Jensen <jensechu@gmail.com>
2020-10-12 20:48:04 -05:00
Scott Shawcroft
379e73af2e
Finer grained, per port tick locking
Fixes #3504 hopefully.
2020-10-12 18:43:21 -07:00
Scott Shawcroft
a0e5e961c5
Fix STM RTC read so it's atomic.
Fixes #3376
2020-10-12 17:43:25 -07:00
Scott Shawcroft
9de96786ad
Merge pull request #3538 from jepler/parallel-qstrlast
build: parallelize the qstr build steps
2020-10-12 15:52:43 -07:00
Scott Shawcroft
1eb1434fc9
Merge pull request #3537 from jepler/update-protomatter-2
rgbmatrix: update protomatter to 1.0.5 tag
2020-10-12 15:45:51 -07:00
Scott Shawcroft
179e13f103
Merge pull request #3539 from jepler/lto-type-mismatch
remove warning-disable flag that seems unneeded now
2020-10-12 15:44:25 -07:00
Scott Shawcroft
bb046f9983
Merge pull request #3540 from WarriorOfWire/async_syntax
__await__ magic method and async/await
2020-10-12 15:31:43 -07:00
Scott Shawcroft
2e5bea2629
Merge pull request #3543 from jepler/rgbmatrix-brighness-crash
rgbmatrix: Don't crash when setting brightness=0
2020-10-12 15:24:58 -07:00
Scott Shawcroft
4a95965b1a
Merge pull request #3542 from jepler/terminal-memory-allocation
displayio, framebufferio: Remove spurious call to supervisor_start_terminal
2020-10-12 15:17:05 -07:00
Scott Shawcroft
638c7f7b57
Merge pull request #3514 from hierophect/esp32-analogout
ESP32-S2: AnalogOut
2020-10-12 15:08:50 -07:00
Jeff Epler
0a60a42396
Merge pull request #3531 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-12 16:00:49 -05:00
8ddbebd2c1 esp32s2: fix build after qstr rule changes 2020-10-12 13:35:15 -05:00
9696dbfd38 rgbmatrix: Don't crash when setting brightness=0
If the display is paused, `_PM_swapbuffer_maybe` will never return.
So, when brightness is 0, refresh does nothing.  This makes it necessary
to update the display when unpausing.

Closes: #3524
2020-10-12 13:28:20 -05:00
Kenny
10badd93c3 leftover newlines 2020-10-11 22:52:27 -07:00
Kenny
94beeabc51 remove unnecessary board configuration and address feedback 2020-10-11 22:42:59 -07:00
479552ce56 build: Make genlast write the "split" files
This gets a further speedup of about 2s (12s -> 9.5s elapsed build time)
for stm32f405_feather

For what are probably historical reasons, the qstr process involves
preprocessing a large number of source files into a single "qstr.i.last"
file, then reading this and splitting it into one "qstr" file for each
original source ("*.c") file.

By eliminating the step of writing qstr.i.last as well as making the
regular-expression-matching part be parallelized, build speed is further
improved.

Because the step to build QSTR_DEFS_COLLECTED does not access
qstr.i.last, the path is replaced with "-" in the Makefile.
2020-10-11 21:18:03 -05:00
774f2e16ba displayio, framebufferio: Remove spurious call to supervisor_start_terminal
A call to supervisor_start_terminal remained in
common_hal_displayio_display_construct and was copied to other display
_construct functions, even though it was also being done in
displayio_display_core_construct when that was factored out.

Originally, this was harmless, except it created an extra allocation.
When investigating #3482, I found that this bug became harmful,
especially for displays that were created in Python code, because it
caused a supervisor allocation to leak.

I believe that it is safe to merge #3482 after this PR is merged.
2020-10-11 21:09:08 -05:00
607e4a905a build: parallelize the creation of qstr.i.last
Rather than simply invoking gcc in preprocessor mode with a list of files, use
a Python script with the (python3) ThreadPoolExecutor to invoke the
preprocessor in parallel.

The amount of concurrency is the number of system CPUs, not the makefile "-j"
parallelism setting, because there is no simple and correct way for a Python
program to correctly work together with make's idea of parallelism.

This reduces the build time of stm32f405 feather (a non-LTO build) from 16s to
12s on my 16-thread Ryzen machine.
2020-10-11 20:19:59 -05:00
c139eccc92 remove warning that seems unneeded now 2020-10-11 16:23:02 -05:00
Kenny
3c46e3a6aa
Turn off async for circuitplayground express
Firmware too large
2020-10-11 08:16:36 -07:00
Kenny
88db16a2c6 add translations 2020-10-10 23:50:12 -07:00
Kenny
98aa4b7943 update async tests with less upython workaround and more cpython compatibility 2020-10-10 23:39:32 -07:00
hexthat
6583e1087c Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (830 of 830 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-10-11 01:51:31 +02:00
oon arfiandwi
e3378b7ccb Translated using Weblate (Indonesian)
Currently translated at 45.6% (379 of 830 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-10-11 01:51:31 +02:00
Wellington Terumi Uemura
f987b363c8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (830 of 830 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-11 01:51:31 +02:00
Hosted Weblate
940013a621 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-11 01:51:31 +02:00
dherrada
92fcb92138 Translated using Weblate (Spanish)
Currently translated at 100.0% (829 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-10-11 01:51:31 +02:00
Jeff Epler
40a3d11d64
Merge pull request #3535 from ladyada/main
fix for https://github.com/adafruit/circuitpython/issues/3534
2020-10-10 18:51:20 -05:00
Targett363
60deb321d1 adding USB PID VID 2020-10-10 23:55:05 +01:00
Kenny
5d96afc5c2 i do not know if this is needed but this is not the vm i use anymore 2020-10-10 15:45:08 -07:00
Kenny
bf849ff674 async def syntax rigor and __await__ magic method
Some examples of improved compliance with CPython that currently
have divergent behavior in CircuitPython are listed below:

* yield from is not allowed in async methods
```
>>> async def f():
...     yield from 'abc'
...
Traceback (most recent call last):
  File "<stdin>", line 2, in f
SyntaxError: 'yield from' inside async function
```

* await only works on awaitable expressions
```
>>> async def f():
...     await 'not awaitable'
...
>>> f().send(None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in f
AttributeError: 'str' object has no attribute '__await__'
```

* only __await__()able expressions are awaitable
Okay this one actually does not work in circuitpython at all today.
This is how CPython works though and pretending __await__ does not
exist will only bite users who write both.
```
>>> class c:
...     pass
...
>>> def f(self):
...     yield
...     yield
...     return 'f to pay respects'
...
>>> c.__await__ = f  # could just as easily have put it on the class but this shows how it's wired
>>> async def g():
...     awaitable_thing = c()
...     partial = await awaitable_thing
...     return 'press ' + partial
...
>>> q = g()
>>> q.send(None)
>>> q.send(None)
>>> q.send(None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration: press f to pay respects
```
2020-10-10 15:45:08 -07:00
warriorofwire
5cadf525bd fix missing cflag defeating the board gating 2020-10-10 15:45:08 -07:00
warriorofwire
f5f1e29dc0 disable async/await on a several small ucontrollers 2020-10-10 15:43:12 -07:00
warriorofwire
d94d2d2975 Add async/await syntax to FULL_BUILD
This adds the `async def` and `await` verbs to valid CircuitPython syntax using the Micropython implementation.

Consider:
```
>>> class Awaitable:
...     def __iter__(self):
...         for i in range(3):
...             print('awaiting', i)
...             yield
...         return 42
...
>>> async def wait_for_it():
...     a = Awaitable()
...     result = await a
...     return result
...
>>> task = wait_for_it()
>>> next(task)
awaiting 0
>>> next(task)
awaiting 1
>>> next(task)
awaiting 2
>>> next(task)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  StopIteration: 42
>>>
```

and more excitingly:
```
>>> async def it_awaits_a_subtask():
...     value = await wait_for_it()
...     print('twice as good', value * 2)
...
>>> task = it_awaits_a_subtask()
>>> next(task)
awaiting 0
>>> next(task)
awaiting 1
>>> next(task)
awaiting 2
>>> next(task)
twice as good 84
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  StopIteration:
```

Note that this is just syntax plumbing, not an all-encompassing implementation of an asynchronous task scheduler or asynchronous hardware apis.
  uasyncio might be a good module to bring in, or something else - but the standard Python syntax does not _strictly require_ deeper hardware
  support.
Micropython implements the await verb via the __iter__ function rather than __await__.  It's okay.

The syntax being present will enable users to write clean and expressive multi-step state machines that are written serially and interleaved
  according to the rules provided by those users.

Given that this does not include an all-encompassing C scheduler, this is expected to be an advanced functionality until the community settles
  on the future of deep hardware support for async/await in CircuitPython.  Users will implement yield-based schedulers and tasks wrapping
  synchronous hardware APIs with polling to avoid blocking, while their application business logic gets simple `await` statements.
2020-10-10 15:38:40 -07:00
Radomir Dopieralski
3f6ca7bd32 Make end-of-line-fixer happy 2020-10-10 23:59:44 +02:00
Targett363
5721cf0710 tidying up board names 2020-10-10 22:42:24 +01:00
Targett363
2aee2b7dc7 Corecting spelling mistake in build.yml 2020-10-10 22:33:52 +01:00
Targett363
ead0d51fd7 Commenting out Neopixel in pins.c 2020-10-10 22:22:01 +01:00
Targett363
cd935346ec Updating the build.yml to include both Module Clip boards 2020-10-10 22:11:44 +01:00
Targett363
74954286f0 Putting the Saola Wrover files back and adding my Wrover board files this time 2020-10-10 21:44:14 +01:00
Targett363
f38e868e90 Actually adding Wrover board files this time 2020-10-10 21:28:26 +01:00
Targett363
b9e308c248 Adding Wroom and Wrover board files 2020-10-10 21:11:06 +01:00
5e38bb98cb rgbmatrix: update protomatter to 1.0.5 tag
this is compile-tested on
 stm32f405 feather
 matrixportal
 nrf52840 feather

but not actually tested-tested.
2020-10-10 14:30:37 -05:00
Radomir Dopieralski
b227b79dec Fix #3504: Don't use time module in pew.tick()
The time.sleep() and time.monotonic() functions break the timer
interrupt on which PewPew10 display relies, so we can't use them
anymore. Instead I'm adding a time-keeping function to the display
code itself, which then can be used in pew.tick() internally.
2020-10-10 20:26:33 +02:00
lady ada
70a94c8d2d fix for https://github.com/adafruit/circuitpython/issues/3534 2020-10-10 12:27:35 -04:00
Scott Shawcroft
c7d87cea62
Merge pull request #3532 from tannewt/samd21_autoreload
Fix autoreload on SAMD21
2020-10-09 14:49:48 -07:00
Lucian Copeland
b435ef0272 Merge remote-tracking branch 'upstream/main' into esp32-analogout 2020-10-09 17:19:46 -04:00
Scott Shawcroft
375676ff58
Merge pull request #3501 from hierophect/esp32-analogin
ESP32S2: Add AnalogIn
2020-10-09 14:10:24 -07:00
Scott Shawcroft
699f19f44a
Merge pull request #3522 from tannewt/imx_metro
Unify iMX RT flash config and add Metro M7 1011
2020-10-09 13:48:58 -07:00
Scott Shawcroft
3ccf644dd0
Fix autoreload on SAMD21
The issue was that a time.sleep() would set the RTC wake up
further into the future even if we wanted to tick every ms. Ticking
every ms is used to time the autoreload delay and without it,
autoreload doesn't work.

Fixes #3528
2020-10-09 12:53:00 -07:00
Scott Shawcroft
e1a80aeb03
Merge pull request #3517 from microDev1/disableAutoReload
Disable auto-reload in safe mode
2020-10-09 11:00:32 -07:00
Lucian Copeland
ccbc15046a Fix submodule issue 2020-10-09 13:29:35 -04:00
Scott Shawcroft
506936ea2e
Merge pull request #3525 from UnexpectedCircuitPython/UM_S2_Boards
Fixed the FeatherS2 prerelease hardware name
2020-10-09 10:20:13 -07:00
Scott Shawcroft
1b307c90a7
Merge pull request #3527 from jepler/issue3526-actions-setenv
workflows: Replace deprecated ::set-env
2020-10-09 10:19:23 -07:00
askpatricw
2b2003f3e7 Set default hostname 2020-10-08 22:46:10 -07:00
3149f5bfd8 workflows: Replace deprecated ::set-env 2020-10-08 16:20:23 -05:00
Scott Shawcroft
b578afa02f
Merge pull request #3523 from tannewt/ble_connectionerror
Replace _bleio.ConnectionError with the native version
2020-10-08 13:00:06 -07:00
Ryan T. Hamilton
99f27bea61 Merge branch 'main' of https://github.com/adafruit/circuitpython into esp32s2-morenet 2020-10-08 12:43:52 -07:00
Lucian Copeland
5af1e054a7 Fix strange merge submodule edit 2020-10-08 14:57:41 -04:00
Jeff Epler
763e14f815
Merge pull request #3518 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-08 13:02:56 -05:00
Scott Shawcroft
76f431df70
Fix ble_hci 2020-10-08 11:02:14 -07:00
Lucian Copeland
b5f8321d37 Merge branch 'esp32-analogin' into esp32-analogout 2020-10-08 12:42:00 -04:00
Lucian Copeland
97d217a764 Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-08 12:34:58 -04:00
hexthat
860bba0555 Translated using Weblate (Chinese (Pinyin))
Currently translated at 99.8% (828 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-10-08 18:22:34 +02:00
oon arfiandwi
e0f6d883f5 Translated using Weblate (Indonesian)
Currently translated at 43.9% (364 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-10-08 18:22:34 +02:00
oon arfiandwi
10b5ab1058 Translated using Weblate (Indonesian)
Currently translated at 42.0% (349 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-10-08 18:22:34 +02:00
hierophect
4bec77652b
Merge pull request #3519 from hathach/fix-idf-latest
fix espressif latest idf
2020-10-08 12:22:24 -04:00
hathach
e1fc85c56b fix usb issue with latest idf 2020-10-08 13:30:32 +07:00
Seon Rozenblum
d93a1961c4 Fixed the FeatherS2 prerelease hardware name 2020-10-08 14:03:16 +11:00
Scott Shawcroft
9fcf96cb64
Replace _bleio.ConnectionError with the native version
Replace uses of _bleio.ConnectionError with regular ConnectionError

Fixes #3008
2020-10-07 17:11:32 -07:00
Scott Shawcroft
ef42d6bb6c
Update USB PID 2020-10-07 16:12:07 -07:00
Scott Shawcroft
09bc415751
Unify iMX flash config and add Metro M7 1011
This unifies the flash config to the settings used by the Boot ROM.
This makes the config unique per board which allows for changing
quad enable and status bit differences per flash device. It also
allows for timing differences due to the board layout.

This change also tweaks linker layout to leave more ram space for
the CircuitPython heap.
2020-10-07 15:23:47 -07:00
Scott Shawcroft
66c25667d8
Merge pull request #3520 from gamblor21/merge_audio_fix
Update submodule to merge commit
2020-10-07 14:30:40 -07:00
gamblor21
085d2a2274 Update submodule to merge commit 2020-10-07 14:09:26 -05:00
microDev
8487a51995
Factor out code.py status messages 2020-10-07 23:53:08 +05:30
hathach
b7ed18d622 change idf to espressif
fix hal includes
2020-10-08 00:52:00 +07:00
Scott Shawcroft
0775e2b20d
Merge pull request #3505 from jepler/canbus-stm
canio: implement for stm32f405
2020-10-07 10:22:00 -07:00
microDev
d01b9ce933
Disable auto-reload in safe mode 2020-10-07 22:15:05 +05:30
Lucian Copeland
9ac0aae5a9 Merge remote-tracking branch 'upstream/main' into esp32-analogout 2020-10-07 12:21:04 -04:00
Lucian Copeland
7386a948bd Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-07 12:20:30 -04:00
16ed875f4e canio: remove unused fields
these relate to properties that were removed as well
2020-10-06 20:14:50 -05:00
81d7ef0256 stm: canio: remove stray optimization flag for debugging 2020-10-06 20:13:23 -05:00
eed3387f4e stm32: canio: Fix message cancellation
.. it's necessary to wait for a cancellation request to actually free
the respective Tx mailbox
2020-10-06 20:12:10 -05:00
abe0405d6e stm32: canio: Fix canio.CAN.restart() 2020-10-06 20:12:06 -05:00
e5a0af9216 stm32: canio: When Tx mailboxes are full, cancel an old message
.. also add the 8ms wait for transmission that the atmel sam port
has
2020-10-06 20:11:58 -05:00
a7dccb39a4 stm32: canio: remove unused functions 2020-10-06 20:11:51 -05:00
23bd2496de stm32: canio: remove some unneeded declarations 2020-10-06 20:11:43 -05:00
7df01d3fbd stm32: canio: enable on all stm32f405 boards 2020-10-06 20:11:39 -05:00
01e9e355ce canio: implement for stm32f405
The has successfully run my loopback self-test program for CAN,
which tests transmission, reception, and filtering.  The 1M baud rate setting
was also verified on saleae to be accurate.
2020-10-06 20:11:35 -05:00
Scott Shawcroft
8c428a3bdd
Merge pull request #3492 from hierophect/esp32-update-idf
ESP32S2: move to official IDF submodule
2020-10-06 16:53:32 -07:00
Scott Shawcroft
945f7f2a1c
Merge pull request #3512 from UnexpectedCircuitPython/UM_S2_Boards
Removed hardware APA settings from ESP32-S2 Feather mpconfigboard.h
2020-10-06 16:41:18 -07:00
Lucian Copeland
455cf654f3 Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-06 15:20:36 -04:00
Lucian Copeland
d5c8e55769 Add AnalogIO 2020-10-06 15:13:50 -04:00
Lucian Copeland
68cb384f8f Remove logging from shared-bindings, fix translations, revert config target macro 2020-10-06 13:29:12 -04:00
Lucian Copeland
f90eb23db1 Merge branch 'esp32-update-idf' into esp32-analogin 2020-10-06 12:52:40 -04:00
Lucian Copeland
0d7552b67e Update ESP-IDF to newer fixed fork 2020-10-06 12:48:28 -04:00
Seon Rozenblum
5c00ba8592 Removed hardware APA settings from mpconfigboard.h because they make the APA flicker on boot. I need to look into why, but I don't think they are being used for anything right now anyway. 2020-10-06 07:40:20 +11:00
Scott Shawcroft
e7004af244
Merge pull request #3510 from jepler/update-protomatter
Update protomatter to 1.0.4 release tag
2020-10-05 12:50:20 -07:00
Jeff Epler
9ed7cbf7a0
Merge pull request #3509 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-05 12:26:59 -05:00
hierophect
e93a274f2f
Merge branch 'main' into esp32-analogin 2020-10-05 13:02:42 -04:00
Lucian Copeland
0467a82880 Fix/remove various style issues 2020-10-05 13:00:42 -04:00
Michal Čihař
8e3ec3d520
Translated using Weblate (Korean)
Currently translated at 9.4% (78 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ko/
2020-10-05 14:12:56 +02:00
1cdc91dce6 Update protomatter
This brings in the following, and updates us to the 1.0.4 release tag:

Submodule lib/protomatter 2a1ba8fa4..5f07ec618:
  > Bumping version for release
  > Merge pull request #21 from makermelissa/master
  > Merge pull request #20 from makermelissa/master
  > Merge pull request #18 from jepler/fix-cpy-3184
  > Merge pull request #14 from hierophect/cpy-timer-allocator

We previously had the _changes_ of jepler/fix-cpy-3184 and
hierophect/cpy-timer-allocator but not their merge commits.

The only other changes in protomatter were one formatting change in the
core, plus several Arduino sketches.  So this should make no practical
difference for CPy.
2020-10-03 13:21:58 -05:00
DavePutz
f362a4a338
Merge pull request #30 from adafruit/main
Update from adafruit/main
2020-10-03 13:04:49 -05:00
Jonny Bergdahl
cdf18885ee Translated using Weblate (Swedish)
Currently translated at 100.0% (829 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-10-03 04:16:41 +02:00
Wellington Terumi Uemura
23cd9fcdad Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (829 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-03 04:16:41 +02:00
Limor "Ladyada" Fried
9535edb8f4
Merge pull request #3507 from jepler/issue3506-matrixportal-crash
displayio: Fix matrixportal crash
2020-10-02 22:16:32 -04:00
Scott Shawcroft
62a7eced51
Merge pull request #3503 from pewpew-game/main
Bump circuitpython-stage to 1.1.1
2020-10-02 15:53:34 -07:00
Christian Walther
be8092f4d3 When there is not enough free space, but a matching hole on the other side, use it. 2020-10-02 23:07:07 +02:00
Christian Walther
5bdb8c45dd Allow allocate_memory() to reuse holes when matching exactly.
This requires recovering the pointer of the allocation, which could be done by adding up neighbor lengths, but the simpler way is to stop NULLing it out in the first place and instead mark an allocation as freed by the client by setting the lowest bit of the length (which is always zero in a valid length).
2020-10-02 23:03:21 +02:00
Christian Walther
d6d02c67d2 Fix inconsistent supervisor heap.
When allocations were freed in a different order from the reverse of how they were allocated (leaving holes), the heap would get into an inconsistent state, eventually resulting in crashes.

free_memory() relies on having allocations in order, but allocate_memory() did not guarantee that: It reused the first allocation with a NULL ptr without ensuring that it was between low_address and high_address. When it belongs to a hole in the allocated memory, such an allocation is not really free for reuse, because free_memory() still needs its length.

Instead, explicitly mark allocations available for reuse with a special (invalid) value in the length field. Only allocations that lie between low_address and high_address are marked that way.
2020-10-02 23:03:21 +02:00
b1592564b2 displayio: Fix matrixportal crash
An RGBMatrix has no bus and no bus_free method.  It is always possible
to refresh the display.

This was not a problem before, but the fix I suggested (#3449) added
a call to core_bus_free when a FramebufferDisplay was being refreshed.
This was not caught during testing.

This is a band-aid fix and it brings to light a second problem in which
a SharpDisplay + FrameBuffer will not have a 'bus' object, and yet does
operate using a shared SPI bus.  This kind of display will need a
"bus-free" like function to be added, or it can have problems like
#3309.
2020-10-02 15:07:36 -05:00
Radomir Dopieralski
c4e337e234 Bump pew-pewpew-standalone-10.x to 2.0.1 2020-10-02 12:47:31 +02:00
Radomir Dopieralski
dd2b40fdf1 Bump circuitpython-stage to 1.1.1
This adds handling of GameOver exception as SystemExit in anticipation
of the new way of starting games from the menu.
2020-10-02 12:17:49 +02:00
Scott Shawcroft
551f78e10b
Merge pull request #3500 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-01 15:47:16 -07:00
Hosted Weblate
d2d768a936
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-10-01 23:24:20 +02:00
Jonny Bergdahl
b51a84d1f8 Translated using Weblate (Swedish)
Currently translated at 100.0% (827 of 827 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-10-01 23:24:18 +02:00
Alvaro Figueroa
7652b3046d Translated using Weblate (Spanish)
Currently translated at 100.0% (827 of 827 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-10-01 23:24:17 +02:00
Alvaro Figueroa
abe98f13df Translated using Weblate (Spanish)
Currently translated at 99.8% (826 of 827 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-10-01 23:24:17 +02:00
Scott Shawcroft
92d15096d2
Merge pull request #3485 from jepler/framebuffer-zero-size
Framebuffer zero size
2020-10-01 14:24:10 -07:00
Lucian Copeland
a8dfae58d9 Add ADC calibration module support 2020-10-01 17:17:39 -04:00
Scott Shawcroft
d62ac24493
Merge pull request #3469 from jepler/noreturn
Add some NORETURN attributes
2020-10-01 11:18:36 -07:00
Scott Shawcroft
160651785a
Merge pull request #3491 from jepler/makefile-translation-exclude
Makefile: Correct and expand translation excluded directories
2020-10-01 11:05:46 -07:00
Scott Shawcroft
c27e3857b6
Merge branch 'main' into framebuffer-zero-size 2020-10-01 11:04:21 -07:00
Scott Shawcroft
b9890f2d42
Merge pull request #3497 from jepler/issue3473
sharpdisplay: Fix memory corruption across soft-reset
2020-10-01 11:00:25 -07:00
Scott Shawcroft
2ad54f8413
Merge pull request #3463 from UnexpectedCircuitPython/UM_S2_Boards
Updated UM FeatherS2 boards
2020-10-01 10:56:55 -07:00
Scott Shawcroft
f303fb3d41
Merge pull request #3495 from tannewt/esp32s2_metro
Add Metro ESP32S2
2020-10-01 10:54:48 -07:00
Lucian Copeland
9a3bd82f40 Update TinyUSB include compatibility 2020-10-01 13:19:54 -04:00
Scott Shawcroft
be6e6eabd2
Merge pull request #3449 from FoamyGuy/sdcard_odb_fix
Sdcard odb fix
2020-10-01 10:13:13 -07:00
Scott Shawcroft
36bd405380
Merge pull request #3496 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-01 10:12:57 -07:00
Lucian Copeland
0bbd067a17 Revert ADC calibration removal, complete merge 2020-10-01 13:06:48 -04:00
618d22cd69 Makefile: translate: exclude e.g., ports/unix/build as well 2020-10-01 11:00:33 -05:00
Jeff Epler
e477d27be3
Update shared-bindings/rgbmatrix/RGBMatrix.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2020-10-01 10:59:02 -05:00
d7c3f811af sharpdisplay: Fix memory corruption across soft-reset
It was incorrect to NULL out the pointer to our heap allocated buffer in
`reset`, because subsequent to framebuffer_reset, but while
the heap was still active, we could call `get_bufinfo` again,
leading to a fresh allocation on the heap that is about to be destroyed.

Typical stack trace:
```
#1  0x0006c368 in sharpdisplay_framebuffer_get_bufinfo
#2  0x0006ad6e in _refresh_display
#3  0x0006b168 in framebufferio_framebufferdisplay_background
#4  0x00069d22 in displayio_background
#5  0x00045496 in supervisor_background_tasks
#6  0x000446e8 in background_callback_run_all
#7  0x00045546 in supervisor_run_background_tasks_if_tick
#8  0x0005b042 in common_hal_neopixel_write
#9  0x00044c4c in clear_temp_status
#10 0x000497de in spi_flash_flush_keep_cache
#11 0x00049a66 in supervisor_external_flash_flush
#12 0x00044b22 in supervisor_flash_flush
#13 0x0004490e in filesystem_flush
#14 0x00043e18 in cleanup_after_vm
#15 0x0004414c in run_repl
#16 0x000441ce in main
```
When this happened -- which was inconsistent -- the display would keep
some heap allocation across reset which is exactly what we need to avoid.

NULLing the pointer in reconstruct follows what RGBMatrix does, and that
code is a bit more battle-tested anyway.

If I had a motivation for structuring the SharpMemory code differently,
I can no longer recall it.

Testing performed: Ran my complicated calculator program over multiple
iterations without observing signs of heap corruption.

Closes: #3473
2020-10-01 09:22:09 -05:00
Wellington Terumi Uemura
4799333ec2
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (827 of 827 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-01 16:20:05 +02:00
Jeff Epler
9e66c3aee1
Merge pull request #3494 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-01 09:19:52 -05:00
FoamyGuy
422a7d4013 remove remaining top level displayio background check 2020-09-30 17:25:58 -05:00
Unexpected Maker
1a099966ce
Merge pull request #1 from tannewt/UM_S2_Boards
Um s2 boards
2020-10-01 07:27:29 +10:00
Lucian Copeland
c624c1e838 Merge branch 'esp32-update-idf' into esp32-analogin 2020-09-30 16:51:19 -04:00
Lucian Copeland
e01e8dd6b9 Revert HAL refactor changes to avoid USB breaking changes past esp-idf dde6222cd 2020-09-30 16:36:13 -04:00
Scott Shawcroft
a6cfa507b6
Add to board list 2020-09-30 12:59:56 -07:00
Scott Shawcroft
a739d314f1
Add Metro ESP32S2
Also fix two bugs:
* Crash when resetting board.SPI when it hasn't been inited.
* Reading back the output value is always false. Fixes #3353
2020-09-30 12:57:39 -07:00
Hosted Weblate
b26c34d9e2 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-30 21:16:22 +02:00
Jonny Bergdahl
cebaf99c64 Translated using Weblate (Swedish)
Currently translated at 100.0% (826 of 826 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-09-30 21:16:22 +02:00
Wellington Terumi Uemura
9d0d3e3615 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (826 of 826 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-30 21:16:22 +02:00
Scott Shawcroft
7f803c0b51
Merge pull request #3489 from astrobokonon/esp32s2-fixconnection
ESP32S2: Enter station mode before connecting
2020-09-30 12:16:15 -07:00
Scott Shawcroft
5ac3c36d64
Merge pull request #3450 from mdroberts1243/New_quirk_for_SH1107
New quirk for sh1107
2020-09-30 12:03:10 -07:00
FoamyGuy
d1bda47d94 removing top level displayio background check 2020-09-30 14:03:03 -05:00
Scott Shawcroft
2ac2f627d5
Merge pull request #3466 from jepler/canbus-api-changes
Canbus: api changes
2020-09-30 11:43:08 -07:00
Scott Shawcroft
5ca10e7849
Merge pull request #3472 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-30 11:42:57 -07:00
Scott Shawcroft
a09a158ddc
Fix trailing line 2020-09-30 11:36:51 -07:00
Scott Shawcroft
29af7068d4
Ignore duplicate USB PID for prerelease version 2020-09-30 11:33:54 -07:00
Mark Roberts
ef245ef54e
Removed redundant subrectangle sizing code 2020-09-30 11:06:13 -07:00
Mark Roberts
9f19a8a760
Ran pre-commit locally 2020-09-30 11:06:13 -07:00
Lucian Copeland
66b8559fd4 Change submodule, rework all includes 2020-09-30 11:26:07 -04:00
c129c8f296 Merge remote-tracking branch 'origin/main' into canbus-api-changes 2020-09-29 20:15:11 -05:00
88cbf772df canio.CAN: clarify read-only status of several properties 2020-09-29 20:13:52 -05:00
8f8326fe57 Makefile: Correct and expand translation excluded directories
As originally written, the TRANSLATE_SOURCES_EXC was incorrect.  If
more than one build directory existed, "make translate"
(and make check-translate) would error.

I corrected the problem, commented it, and added a number of additional
exclude directives.

I reviewed the PR and should have caught this, but did not.
2020-09-29 19:57:53 -05:00
e4b9c16891 rgbmatrix: Check that the number of rgb pins is supported.
Having zero RGB pins may not have been caught, nor having a non-multiple-of-6
value.  Generally, users will only have 6 RGB pins unless they are driving
multiple matrices in parallel.  No existing breakouts exist to do this, and
there are probably not any efficient pinouts to be had anyway.
2020-09-29 19:55:31 -05:00
176b337611 rgbmatrix: validate width= constructor parameter
In #3482, @cwalther noted that, hypothetically, a zero byte allocation
could be made in the RGBMatrix constructor.  Ensure that width is positive.
Height was already checked against the number of RGB pins if it was specified,
so zero is ruled out there as well.
2020-09-29 19:44:25 -05:00
Seon Rozenblum
819b5faa71 Removed ProS2 board files for now 2020-09-30 10:23:54 +10:00
Seon Rozenblum
4b1a7d812e Updated UM boards 2020-09-30 10:16:24 +10:00
Seon Rozenblum
a2a0aa058f Updated UM boards 2020-09-30 10:13:05 +10:00
Ryan T. Hamilton
2f6d7c9002 Make sure you're a STA before connecting 2020-09-29 13:41:56 -07:00
Hosted Weblate
28353973b2
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-29 21:32:56 +02:00
Maciej Stankiewicz
9b3e955bd4 Translated using Weblate (Polish)
Currently translated at 73.8% (595 of 806 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-09-29 21:32:54 +02:00
Hosted Weblate
38f12185aa Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-29 21:32:54 +02:00
Taku Fukada
88749fce64 Translated using Weblate (Japanese)
Currently translated at 73.2% (591 of 807 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-09-29 21:32:54 +02:00
Alvaro Figueroa
c1ac0eed2f Translated using Weblate (Spanish)
Currently translated at 100.0% (807 of 807 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-09-29 21:32:54 +02:00
Jeff Epler
2bb44f6c4d
Merge pull request #3486 from microDev1/fixTranslate
Update make translate script
2020-09-29 14:32:49 -05:00
d79f4e2662 canio: doc improvement -- don't needlessly call out deinit behavior 2020-09-29 14:32:27 -05:00
611f81ac1a canio: actually drop the _error_count properties
thanks @tannewt
2020-09-29 14:25:53 -05:00
1bea099eb2 Allow the _state_count properties to be unimplemented
This is the case on the SPI implementations MCP2515 and MCP2518.
2020-09-29 14:05:50 -05:00
microDev
4c7d9e3aaf
Update make translate script 2020-09-29 11:14:30 +05:30
Jeff Epler
d4ee440a91
Merge pull request #3475 from tannewt/esp_uf2
Reorganize sdkconfigs and release UF2s
2020-09-28 20:39:37 -05:00
03bd968450 more doc improvements 2020-09-28 19:56:19 -05:00
979ec3a458 can: RemoteTransmissionRequest: remove duplicate docstrings 2020-09-28 19:47:06 -05:00
Ryan T. Hamilton
2a4a244245 Add ap_ssid and ap_bssid 2020-09-28 17:25:09 -07:00
dd6e7f5a8a mimxrt10xx: Add required header for NORETURN definition 2020-09-28 18:56:01 -05:00
1dbb59271c esp32: Use esp_restart from reset_to_bootloader; redeclare it NORETURN 2020-09-28 18:56:01 -05:00
726dcdb60a Add some NORETURN attributes
I have a function where it should be impossible to reach the end, so I put in a safe-mode reset at the bottom:
```
int find_unused_slot(void) {
    // precondition: you already verified that a slot was available
    for (int i=0; i<NUM_SLOTS; i++) {
        if( slot_free(i)) {
            return i;
        }
    }
    safe_mode_reset(MICROPY_FATAL_ERROR);
}
```
However, the compiler still gave a diagnostic, because safe_mode_reset was not declared NORETURN.

So I started by teaching the compiler that reset_into_safe_mode never returned.  This leads at least one level deeper due to reset_cpu needing to be a NORETURN function.  Each port is a little different in this area.  I also marked reset_to_bootloader as NORETURN.
Additional notes:

 * stm32's reset_to_bootloader was not implemented, but now does a bare reset.  Most stm32s are not fitted with uf2 bootloaders anyway.
 * ditto cxd56
 * esp32s2 did not implement reset_cpu at all.  I used esp_restart().  (not tested)
 * litex did not implement reset_cpu at all.  I used reboot_ctrl_write.  But notably this is what reset_to_bootloader already did, so one or the other must be incorrect (not tested).  reboot_ctrl_write cannot be declared NORETURN, as it returns unless the special value 0xac is written), so a new unreachable forever-loop is added.
 * cxd56's reset is via a boardctl() call which can't generically be declared NORETURN, so a new unreacahble "for(;;)" forever-loop is added.
 * In several places, NVIC_SystemReset is redeclared with NORETURN applied.  This is accepted just fine by gcc.  I chose this as preferable to editing the multiple copies of CMSIS headers where it is normally declared.
 * the stub safe_mode reset simply aborts.  This is used in mpy-cross.
2020-09-28 18:55:56 -05:00
Ryan T. Hamilton
7b7ef8edde Merge branch 'main' of https://github.com/adafruit/circuitpython into esp32s2-morenet 2020-09-28 16:50:02 -07:00
Ryan T. Hamilton
66d55738c1 Enable DNS info 2020-09-28 16:49:20 -07:00
mdroberts1243
b1e1237887
Merge branch 'main' into New_quirk_for_SH1107 2020-09-28 19:40:47 -04:00
Mark Roberts
db74f97e60 modified _stage/__init__.c call to set region to update 2020-09-28 19:10:47 -04:00
809225fd1e make translate 2020-09-28 17:22:15 -05:00
04e434a7ce canio: remove stray remote_transmission_request method declaration 2020-09-28 17:22:02 -05:00
f4e36fc7f6 CAN: Use mp_obj_t insteaed of canio_message_obj_t, get rid of rtr field 2020-09-28 17:22:00 -05:00
13493730a1 canio: CAN.Match: improve how an unspecified mask is implemented
0 should actually indicate a "match everything" filter which you otherwise
couldn't indicate with any single Match object, and an
all-address-bits-set number should indicate a "match single address"
filter.  Use an optional/default None argument to do the job.
2020-09-28 17:22:00 -05:00
4f7f1e8106 canio: CAN.listen: rename argument to 'matches', reflecting that it is a sequence 2020-09-28 17:22:00 -05:00
a4cc3ad6cb canio: RemoteTransmissionRequest: Split implementation, keep one structure
This already begins obscuring things, because now there are two sets of
shared-module functions for manipulating the same structure, e.g.,
common_hal_canio_remote_transmission_request_get_id and
common_hal_canio_message_get_id
2020-09-28 17:22:00 -05:00
3e97e9c4be canio: Listener: shuffle function declarations around 2020-09-28 17:22:00 -05:00
ea2f5b6396 canio: Correct type annotations of CAN.send, Listener.receive 2020-09-28 17:22:00 -05:00
f4fd5bbfc4 canio: docs: fix how we refer to 'the listen method' 2020-09-28 17:22:00 -05:00
8d45be1cd9 canio: Split RemoteTransmissionRequest to its own class
It reuses most of canio.Message's implementation, and structure
2020-09-28 17:22:00 -05:00
48bda589b8 Listerner: read -> receive, drop readinto
This prepares for creating a separate RemoteTransmissionRequest class
2020-09-28 17:22:00 -05:00
79ca430ddf Match: address -> id 2020-09-28 17:22:00 -05:00
8b82c239b8 canio: doc improvements 2020-09-28 17:22:00 -05:00
Scott Shawcroft
abdbbf9e24
One grep 2020-09-28 15:10:12 -07:00
Scott Shawcroft
6bfcb01ee7
Merge pull request #3478 from ansonhe97/main
Turn Default power on Wio Terminal's 40 Pin
2020-09-28 14:44:51 -07:00
Scott Shawcroft
785f2beed0
Merge pull request #3481 from caternuson/iss3480_docupdate
Add MP const info to Design Guide
2020-09-28 14:30:28 -07:00
Scott Shawcroft
ffeaef5d82
Merge pull request #3453 from DavePutz/issue3367
Issue #3367 Changed delay calls to avoid conflicts with qspi_disable
2020-09-28 14:18:51 -07:00
caternuson
4d4dbbcafe RST tweak 2020-09-28 13:28:38 -07:00
caternuson
8e4f08a109 add MP const info to Design Guide 2020-09-28 13:15:43 -07:00
Lucian Copeland
128b4a013b Add non-calibrated ADC 2020-09-28 12:11:08 -04:00
Anson He
96323ac3ac Default power on Wio Terminal's 40 Pin 2020-09-27 10:21:25 +08:00
Jeff Epler
d6da406d0f
Merge pull request #3474 from tannewt/update_tinyusb
Update TinyUSB to get MIDI SysEx fix
2020-09-26 20:31:09 -05:00
Ryan T. Hamilton
deefeecb45 Fix ap_rssi bound_method
Forgot to make it a property!
2020-09-26 14:27:42 -07:00
Ryan T. Hamilton
b9968ea801 Merge branch 'main' of https://github.com/adafruit/circuitpython into esp32s2-morenet 2020-09-26 13:37:14 -07:00
Jeff Epler
dab4d0effd
Merge pull request #3476 from jepler/qtpy-haxpress
Add QT Py Haxpress
2020-09-26 12:37:47 -05:00
791d20f16c give qtpy haxpress its own USB PID 2020-09-26 11:45:53 -05:00
8b27febf32 add new board to actions build 2020-09-26 11:43:46 -05:00
9944935fde qtpy haxpress: enable RTC 2020-09-26 11:33:10 -05:00
Mark Roberts
22a7696fac Changes take 2: missed ugame10 board 2020-09-25 22:17:59 -04:00
Mark Roberts
b921543571 Requested changes take 1 2020-09-25 21:27:29 -04:00
Scott Shawcroft
2c8ee08520
Merge pull request #3471 from tannewt/i2c_100k
Change I2C default to 100khz
2020-09-25 14:08:25 -07:00
Scott Shawcroft
73d08df9ad
Update TinyUSB to get MIDI SysEx fix
Fixes #3465
2020-09-25 12:23:31 -07:00
Scott Shawcroft
2b856dbd28
Merge pull request #3470 from askpatrickw/fix-pin-printout
Print package if it exists for pin or module only if it does not
2020-09-25 11:21:16 -07:00
Scott Shawcroft
c07307a309
Merge pull request #3455 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-25 11:20:18 -07:00
Scott Shawcroft
b9d68bc5a6
Change I2C default to 100khz
Greater that 100khz is technically out of the original spec.

Background here: https://github.com/adafruit/Adafruit_CircuitPython_CLUE/issues/36
2020-09-25 11:07:22 -07:00
askpatricw
33952023e8 Print package if it exists for pin or module only if it does not 2020-09-25 10:08:26 -07:00
Mark Roberts
19dbff67f2 Fixed page set mask to be four bits! 2020-09-25 00:26:39 -04:00
Mark Roberts
06a3d15266 Mostly-working-version with comments 2020-09-24 22:07:33 -04:00
eadb4de144 qtpy_m0_haxpress: add 2020-09-24 16:58:24 -05:00
6bcbe51f7f supervisor: stub: make unimplemented safe_mode loop forever 2020-09-24 16:57:20 -05:00
832869b257 make translate 2020-09-24 16:56:07 -05:00
Maciej Stankiewicz
3a6f7986df Translated using Weblate (Polish)
Currently translated at 73.7% (595 of 807 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-09-23 21:30:08 +02:00
Wellington Terumi Uemura
c1830d6212 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (807 of 807 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-23 21:30:08 +02:00
Scott Shawcroft
dd86cb00ad
Merge pull request #3448 from hierophect/esp32-sd-fix
ESP32S2 - Fix SPI's SD card issue, add pin protections
2020-09-23 12:30:01 -07:00
Scott Shawcroft
a8558a48ed
Merge pull request #3456 from jepler/qstr-and-or-demagic
makeqstrdefs: don't make _and_, _or_ poisoned substrings for QSTRs
2020-09-23 12:24:02 -07:00
Scott Shawcroft
bcabf5e019
Merge pull request #3457 from ladyada/qtpy_m0
fix pins for rev C
2020-09-23 11:31:28 -07:00
Lucian Copeland
00517b2600 Move missing pin warning to shared-bindings 2020-09-23 11:39:39 -04:00
lady ada
9db7625717 neopix is default on! 2020-09-23 11:19:01 -04:00
lady ada
5384479a61 fix pins for rev C 2020-09-22 23:28:23 -04:00
28e80e47d7 makeqstrdefs: don't make _and_, _or_ poisoned substrings for QSTRs
New contributor @mdroberts1243 encountered an interesting problem in
which the argument they had named "column_underscore_and_page_addressing"
simply couldn't be used; I discovered that internally this had been
transformed into "column_underscore∧page_addressing", because QSTR
makes _ENTITY_ stand for the same thing as &ENTITY; does in HTML.

This might be nice for some things, but we don't want it here!
I was unable to find a sensible way to "escape" and prevent this entity
coding, so instead I ripped out support for the _and_ and _or_ escapes.
2020-09-22 17:39:44 -05:00
Jeff Epler
410d27b746
Merge pull request #3452 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-22 16:30:37 -05:00
Hosted Weblate
cabd7539d3
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-22 21:40:01 +02:00
Szymon Jakubiak
c2d6405fea Translated using Weblate (Polish)
Currently translated at 73.3% (587 of 800 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-09-22 21:39:59 +02:00
Scott Shawcroft
98185e914b
Merge pull request #3425 from jepler/canbus
canio: Initial implementation for SAM E5x MCUs
2020-09-22 12:39:52 -07:00
Mark Roberts
5a176c2c67 Removed redundant send of page setting 2020-09-22 13:41:25 -04:00
82f37c9252 canio: fix read(), iterable bindings 2020-09-22 10:28:25 -05:00
root
dbf8a9ad69 Changed delay calls to avoid conflicts with qspi_disable 2020-09-22 10:25:31 -05:00
DavePutz
7ad7e1cf64
Merge pull request #29 from adafruit/main
Update from adafruit/main
2020-09-22 10:13:18 -05:00
9fd9cf1138 canio: fix bugs in shared-bindings 2020-09-22 09:36:47 -05:00
59580d0f2d canio: Fix implementation bugs in atmel-sam 2020-09-22 09:36:29 -05:00
hierophect
9f892cdda8
Merge pull request #3451 from microDev1/patch-1
FIX : esp32s2 RTC support
2020-09-22 09:32:18 -04:00
microDev
add230b4da
Update port.c 2020-09-22 11:37:12 +05:30
Ryan T. Hamilton
a77966a736 Try to reuse/share existing objects 2020-09-21 21:36:46 -07:00
Ryan T. Hamilton
2fa269ccbc Additional error handling 2020-09-21 20:56:03 -07:00
Mark Roberts
5536e574db Changes to compile cleanly 2020-09-21 22:08:16 -04:00
Mark Roberts
08189edf24 Quirk coded up for ...set_region_to_update 2020-09-21 21:07:42 -04:00
FoamyGuy
ff1a90a9c3 Merge branch 'adafruit_main' into sdcard_odb_fix 2020-09-21 17:58:05 -05:00
Mark Roberts
f21dc253e0 Initial commit bool column_and_page_addressing 2020-09-21 18:42:16 -04:00
10245c0ff8 canio: a few more stray _canios 2020-09-21 17:04:30 -05:00
a8147c125c Fix unintentional cross references 2020-09-21 16:47:28 -05:00
85756fa0cd make translate 2020-09-21 16:45:51 -05:00
4869dbdc67 canio: rename from _canio
This reflects our belief that the API is stable enough to avoid incompatible changes during 6.x.
2020-09-21 16:44:26 -05:00
493679da3b CAN.listen: block until a message comes in or timeout is reached 2020-09-21 16:44:26 -05:00
9e8f1820c8 canio.CAN: switch rx/tx, make both mandatory, move declarations around 2020-09-21 16:44:26 -05:00
4e4853dcb2 common.template.ld: remove unneeded line 2020-09-21 16:44:26 -05:00
fd9df164c0 canio: Message: remove size property
This is just duplicating what len(message.data) gives you.
2020-09-21 16:44:26 -05:00
df379b84cb remove unneeded symbols 2020-09-21 16:44:26 -05:00
7fd6cab2ac canio: Make both tx and rx (but not both) optional
.. loopback and silent come from the (optional) constructor parameters
not guessing based on the pin specification

.. docstring & comment improvements
2020-09-21 16:44:26 -05:00
09f8a83a75 samd: template.ld: put canram in its own output section 2020-09-21 16:44:26 -05:00
c39ec1581e _canio: Message: setting data clears rtr, and vice versa 2020-09-21 16:44:26 -05:00
a76119afcb add _canio to Feather M4 CAN 2020-09-21 16:44:26 -05:00
67d8f108bb Add CAN to SAM E51 clock config 2020-09-21 16:44:26 -05:00
44c5b2bbb1 Respond to review comments
Thanks @tannewt!
2020-09-21 16:44:26 -05:00
a69b298aed Whitespace 2020-09-21 16:44:26 -05:00
58b920ed97 fix whitespace 2020-09-21 16:44:26 -05:00
27cbb690e5 _canio: Add listener matching
Lightly tested:
 * no matches (catch-all)
 * standard address single address matches (even and odd positions)
 * standard address mask matches
 * only tested that extended doesn't match non-extended
2020-09-21 16:44:26 -05:00
2cb4707f92 Message: add extended address flag 2020-09-21 16:44:26 -05:00
ca32a81bf1 main.c: Correct CANIO if-guard 2020-09-21 16:44:26 -05:00
40d4a69133 more doc improvements 2020-09-21 16:44:26 -05:00
1eb0587917 correct docstring 2020-09-21 16:44:26 -05:00
635fcadb59 _canio.CAN: add error handling & bus state 2020-09-21 16:44:26 -05:00
f8dcf2118e _canio: Add _canio.State enum-like class 2020-09-21 16:44:26 -05:00
37af9dde90 Listener: fix doc markup, include in globals of its module 2020-09-21 16:44:26 -05:00
65ca1c7bbc _canio: Message: Setting data should set the size to match 2020-09-21 16:44:26 -05:00
a2e1867f69 _canio: Minimal implementation for SAM E5x MCUs
Tested & working:

 * Send standard packets
 * Receive standard packets (1 FIFO, no filter)

Interoperation between SAM E54 Xplained running this tree and
MicroPython running on STM32F405 Feather with an external
transceiver was also tested.

Many other aspects of a full implementation are not yet present,
such as error detection and recovery.
2020-09-21 16:44:26 -05:00
e7a213a114 py: Add enum helper code
This makes it much easier to implement enums, and the printing code is
shared.  We might want to convert other enums to this in the future.
2020-09-21 16:44:26 -05:00
183649aad8 samd: move mcu_find_pin_function to header
.. it'll be used in can as well as sdio
2020-09-21 16:44:07 -05:00
Lucian Copeland
22d9a94f2b Use write_value, add missing pin exceptions 2020-09-21 13:47:14 -04:00
Scott Shawcroft
df067b498d
Merge pull request #3446 from jepler/python35-compression-fix
makeqstrdata: Work around python3.5/3.6 compatibility problem
2020-09-21 10:35:00 -07:00
Scott Shawcroft
c963771b4b
Merge pull request #3445 from microDev1/boardInfo
Update microS2 config files
2020-09-21 10:33:38 -07:00
0318eb359f makeqstrdata: Work around python3.6 compatibility problem
Discord user Folknology encountered a problem building with Python 3.6.9,
`TypeError: ord() expected a character, but string of length 0 found`.

I was able to reproduce the problem using Python3.5*, and discovered that
the meaning of the regular expression `"|."` had changed in 3.7.  Before,
```
>>> [m.group(0) for m in re.finditer("|.", "hello")]
['', '', '', '', '', '']
```
After:
```
>>> [m.group(0) for m in re.finditer("|.", "hello")]
['', 'h', '', 'e', '', 'l', '', 'l', '', 'o', '']
```
Check if `words` is empty and if so use `"."` as the regular expression
instead.  This gives the same result on both versions:
```
['h', 'e', 'l', 'l', 'o']
```
and fixes the generation of the huffman dictionary.

Folknology verified that this fix worked for them.

 * I could easily install 3.5 but not 3.6.  3.5 reproduced the same problem
2020-09-21 10:03:07 -05:00
microDev
40ec7a66e4
Update microS2 config files 2020-09-21 14:39:31 +05:30
Dan Halbert
8eda9174b2
Merge pull request #3443 from jepler/python-version-compat
makeqstrdata: Work with older Python
2020-09-20 10:18:21 -04:00
Jeff Epler
ce266425e1
Merge pull request #3441 from hierophect/stm32-rgbmatrix-crashfix
STM32: Add never_reset reservation to RGBMatrix init
2020-09-20 07:51:09 -05:00
Ryan T. Hamilton
bc8863a3c7 Simplify now that I have it working
still need to figure out the bound method business
2020-09-19 21:04:07 -07:00
Ryan T. Hamilton
04ffd0dca0 Add gateway, subnet, and rssi info for current connected AP
ap_rssi is a bound method, which I'm not keen on, but it works
2020-09-19 13:38:04 -07:00
Dan Halbert
9d9bc5adee
Merge pull request #3428 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-19 15:20:39 -04:00
Wellington Terumi Uemura
54001079f7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (800 of 800 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-19 19:41:29 +02:00
Hosted Weblate
ed9173498f Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-19 19:41:29 +02:00
Alvaro Figueroa
fb123cebf2 Translated using Weblate (Spanish)
Currently translated at 100.0% (799 of 799 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-09-19 19:41:29 +02:00
Wellington Terumi Uemura
dd0f5f1b21 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (799 of 799 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-19 19:41:29 +02:00
Maciej Stankiewicz
63ac3a5a43 Translated using Weblate (Polish)
Currently translated at 73.2% (585 of 799 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-09-19 19:41:29 +02:00
Hosted Weblate
22becafde9 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-19 19:41:29 +02:00
Wellington Terumi Uemura
07f944bf67 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (796 of 796 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-19 19:41:29 +02:00
Hosted Weblate
e1071bb14a Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-19 19:41:29 +02:00
Maciej Stankiewicz
aeec662fef Translated using Weblate (Polish)
Currently translated at 71.3% (567 of 795 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-09-19 19:41:29 +02:00
Hugo Dahl
852bdd2137 Translated using Weblate (French)
Currently translated at 94.7% (753 of 795 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-09-19 19:41:29 +02:00
Dan Halbert
9cc803eb95
Merge pull request #3432 from bd34n/rename-bdmicro-vina-m0-d21
Rename board bdmicro_vina_m0 to bdmicro_vina_d21 and update boardfiles.
2020-09-19 13:41:21 -04:00
bfbbbd6c5c makeqstrdata: Work with older Python
This construct (which I added without sufficient testing,
apparently) is only supported in Python 3.7 and newer.  Make it
optional so that this script works on other Python versions.  This
means that if you have a system with non-UTF-8 encoding you will
need to use Python 3.7.

In particular, this affects a problem building circuitpython in
github's ubuntu-18.04 virtual environment when Python 3.7 is not
explicitly installed.  cookie-cuttered libraries call for Python
3.6:
```
    - name: Set up Python 3.6
      uses: actions/setup-python@v1
      with:
        python-version: 3.6
```
Since CircuitPython's own build calls for 3.8, this problem was not
detected.

This problem was also encountered by discord user mdroberts1243.

The failure I encountered was here:
https://github.com/jepler/Jepler_CircuitPython_udecimal/runs/1138045020?check_suite_focus=true
.. while my step of "clone and build circuitpython unix port" is
unusual, I think the same problem would have affected "build assets"
if that step had been reached.
2020-09-19 10:16:13 -05:00
Dan Halbert
b28b31196d
Merge pull request #3438 from nitz/patch-1
[Makerdiary nRF52840 M.2 Devkit] Add SDA & SDL, RX & TX to pins.c
2020-09-18 21:51:22 -04:00
Dan Halbert
dfd09bba57
Merge pull request #3433 from astrobokonon/esp32s2-bssid
ESP32S2: Allow connecting to specific bssid
2020-09-18 21:31:15 -04:00
Dan Halbert
8cf0171c06
Merge pull request #3431 from hierophect/stm32-spi-writevalue
STM32: Change SPI Read to acknowledge write_value
2020-09-18 19:46:21 -04:00
Dan Halbert
5116375604
Merge pull request #3436 from jepler/fix-spi-sercom4
samd: SPI: improve conditional code
2020-09-18 19:14:39 -04:00
Dan Halbert
23dd7c7c96
Merge pull request #3435 from jepler/fix-sdhc1
sdioio: fix code for the case where there is no SDHC1
2020-09-18 17:10:59 -04:00
nitz
8d6a28a9ff
Update user button names. 2020-09-18 17:01:44 -04:00
Dan Halbert
550b42e4d3
Merge pull request #3434 from jepler/same54-disable-cpu-voltage
sam e54: disable microcontroller.cpu.voltage
2020-09-18 15:20:43 -04:00
nitz
5249a228a0
More pin names cleanup. 2020-09-18 14:27:00 -04:00
Dan Halbert
749cbe19ab
Merge pull request #3437 from jepler/serial-connected-fix
supervisor: Improve serial connection detection
2020-09-18 13:33:04 -04:00
Lucian Copeland
3a59d30e1a Remove timer debug messages 2020-09-18 12:48:15 -04:00
Lucian Copeland
c58bd4c047 Add never_reset reservation to RGBMatrix init 2020-09-18 12:38:15 -04:00
nitz
db078922e4
Removed TXD/RXD, fixed whitespace. 2020-09-17 21:32:19 -04:00
Chris Dailey
be3e478fce
Add SDA & SDL, RX & TX to pins.c
Despite the [silk on the dock board](https://wiki.makerdiary.com/nrf52840-m2-devkit/resources/nrf52840_m2_devkit_hw_diagram_v1_0.pdf), the SDA/SCL pins weren't defined. Though, they were already defined in `mpconfigboard.h`.

Same for RX/TX. It looks like it declared `TXD` and `RXD`, so I didn't want to remove those, but I think it makes sense to have the "standard" pin names, but I moved ithem to illustrate they were all referencing the same pins.

I mimicked the whitespace I saw in the metro_nrf52840_express port.
2020-09-17 20:46:59 -04:00
28043c94b5 supervisor: Improve serial connection detection
These changes remove the caveat from supervisor.runtime.serial_connected.

It appears that _tud_cdc_connected() only tracks explicit changes to the
"DTR" bit, which leads to disconnects not being registered.

Instead:
 * when line state is changed explicitly, track the dtr value in
   _serial_connected
 * when the USB bus is suspended, set _serial_connected to False

Testing performed (using sam e54 xplained):  Run a program to show
the state of `serial_connected` on the LED:
```
import digitalio
import supervisor
import board

led = digitalio.DigitalInOut(board.LED)
while True:
    led.switch_to_output(not supervisor.runtime.serial_connected)
```

Try all the following:
 * open, close serial terminal program
    - LED status tracks whether terminal is open
 * turn on/off data lines using the switchable charge-only cable
    - LED turns off when switch is in "charger" position
    - LED turns back on when switch is in Data position and terminal is
      opened (but doesn't turn back on just because switch position is
      changed)
2020-09-17 18:32:06 -05:00
45eec5b5a5 samd: SPI: improve conditional code
I recently misdiagnosed a "maybe-uninitialized" diagnostic as a bug in
asf4.  However, the problem was in our SPI code.

A special case for samr21 MCUs was being applied to same54p20a and possibly
other D5x/E5x MCUs, since the check was simply for pin PC19 existing at all.

Change the check to use the macro PIN_PC19F_SERCOM4_PAD0 which is only
defined if special function F of pin PC19 is SERCOM4 PAD0.

Reorganize the code a little bit so that brace-matching in editors is
not confused by the conditionalized code, including an unrelated change
for APA102_SCK's condition.

Revert the change to the Makefile that incorrectly attempted to silence
the diagnostic.
2020-09-17 18:30:22 -05:00
c73182803d sdioio: fix code for the case where there is no SDHC1
.. it doesn't really make a difference (the old code created an empty
else{} statement) but this is more correct.
2020-09-17 18:29:31 -05:00
1b29ceaf1a sam e54: disable microcontroller.cpu.voltage
This hangs, and the usual workarounds didn't work.
2020-09-17 18:27:43 -05:00
Scott Shawcroft
17bdc969db
Reorganize sdkconfigs and release UF2s 2020-09-17 16:01:23 -07:00
Ryan T. Hamilton
1805e92038 Add else case for non-bssid usage 2020-09-17 15:04:27 -07:00
Scott Shawcroft
7f60ebd6c7
Merge pull request #3426 from tannewt/esp_flash_sizes
Add partition layouts for 8 and 16 MB as well.
2020-09-17 13:27:58 -07:00
Scott Shawcroft
4b827b25ad
Merge pull request #2966 from sommersoft/ci_check_vid_pid
Automate USB VID/PID Uniqueness Check
2020-09-17 11:48:46 -07:00
Scott Shawcroft
9cf9441ba6
Merge pull request #3393 from tannewt/fix_spi_psram
Add non-DMA SPI support.
2020-09-17 11:11:56 -07:00
Scott Shawcroft
78338ac12b
Merge pull request #3417 from hierophect/esp32s2-readme
ESP32S2: Add Readme
2020-09-17 10:58:17 -07:00
Ryan T. Hamilton
1e3241ec6d
Merge branch 'main' into esp32s2-bssid 2020-09-16 17:15:01 -07:00
Ryan T. Hamilton
6a323a583f Add new error msg to translation 2020-09-16 17:08:11 -07:00
Ryan T. Hamilton
daa1dd278d connect now accepts bssid 2020-09-16 16:25:17 -07:00
Brian Dean
81ee874531 pins.c: fix trailing whitespace 2020-09-16 16:40:04 -04:00
Brian Dean
847d609ddc rename board bdmicro_vina_m0 to bdmicro_vina_d21 and update boardfiles appropriately 2020-09-16 16:27:24 -04:00
Scott Shawcroft
c55deb54f0
Merge pull request #3427 from usini/muselab_nanoesp32_s2
Added board - Muselab nanoESP32-S2
2020-09-16 12:23:41 -07:00
Lucian Copeland
00ee94d24b Add SPI memset, optional flags 2020-09-16 14:22:18 -04:00
Scott Shawcroft
fb90daa0ff
Merge pull request #3422 from askpatrickw/rtc-support
RTC enabled
2020-09-16 11:12:00 -07:00
Scott Shawcroft
750bc1e04a
Merge pull request #3398 from jepler/better-dictionary-compression
compression: Implement @ciscorn's dictionary approach
2020-09-16 11:10:22 -07:00
askpatricw
18285f96e8 RTC is pickd up automatically 2020-09-16 10:13:07 -07:00
Dan Halbert
d774678a0f
Merge pull request #3369 from kamtom480/camera
Add camera module
2020-09-16 12:29:58 -04:00
Lucian Copeland
478a4b6405 Clarify location of port root 2020-09-16 10:51:08 -04:00
Jeff Epler
1fc797132a
Merge pull request #3237 from DavePutz/issue3216
Issue#3216 - Needed an alternate way to check if background tasks were run
2020-09-16 08:47:33 -05:00
a8e98cda83 makeqstrdata: comment my understanding of @ciscorn's code 2020-09-16 08:28:15 -05:00
Rémi Sarrailh
4225f8348f
Change build-arm to build-xtensa in build.yml 2020-09-16 14:59:35 +02:00
Rémi Sarrailh
d538918cfd
Fix name in build.yml 2020-09-16 13:59:59 +02:00
Kamil Tomaszewski
61687c81d8 camera: Pass width and height to take_picture() 2020-09-16 13:55:57 +02:00
Rémi Sarrailh
8be5d616e4
Fix invalid indentation on build.yml 2020-09-16 13:44:09 +02:00
Rémi Sarrailh
c06aeda399 Add Muselab nanoesp32 s2 definition 2020-09-16 13:10:01 +02:00
Ryan T. Hamilton
fead60d2d8 Add BSSID to Network 2020-09-15 23:32:53 -07:00
Scott Shawcroft
2bd169ec32
Add partition layouts for 8 and 16 MB as well. 2020-09-15 18:12:06 -07:00
Scott Shawcroft
95e27bb8bf
Add more PIDs for unique boards 2020-09-15 13:43:35 -07:00
askpatricw
bd381e434f Revert "code review feedback"
This reverts commit f9f614b3a2.
2020-09-15 13:02:26 -07:00
askpatricw
f9f614b3a2 code review feedback 2020-09-15 11:28:31 -07:00
d9e336d39f supervisor translate: explain the dictionary 2020-09-15 13:18:04 -05:00
askpatricw
8fcdc7da16 RTC enabled 2020-09-14 23:24:44 -07:00
Dan Halbert
3c6af94fb3
Merge pull request #3384 from jepler/feather_m4_can
atmel-samd: add same51, feather_m4_can
2020-09-14 23:57:51 -04:00
067a975875 update submodules to merge commits 2020-09-14 17:22:30 -05:00
Scott Shawcroft
a60906d7df
Merge pull request #3392 from hierophect/esp32-displayio-fix
Fix some DisplayIO crashes, add ESP32-S2 debugging capability
2020-09-14 14:56:51 -07:00
DavePutz
2a2a8d6457
Merge pull request #28 from adafruit/main
Merge from adafruit/main
2020-09-14 16:50:40 -05:00
DavePutz
ecd8d49e38
Merge pull request #27 from adafruit/main
Update from adafruit/main
2020-09-14 16:47:56 -05:00
Scott Shawcroft
3d8bac50e4
Merge pull request #3397 from tannewt/fix_size_0_bug
Fix bug with socket.recv_into size == 0.
2020-09-14 14:47:28 -07:00
Lucian Copeland
3640ef2b7f Fix toctree, incorrect flash port assumptions 2020-09-14 17:37:55 -04:00
DavePutz
4a3be4df91
Sync with adafruit/main 2020-09-14 16:33:25 -05:00
DavePutz
43d5892baa
Update from adafruit/main 2020-09-14 16:32:06 -05:00
DavePutz
16a601e3bd
Update from adafruit/main 2020-09-14 16:30:30 -05:00
DavePutz
f963d06643
Update from adafruit/main 2020-09-14 16:29:19 -05:00
Scott Shawcroft
1f43ddcbf1
Merge pull request #3418 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-14 14:29:00 -07:00
30cfac08e2
Added translation using Weblate (Greek) 2020-09-14 21:09:11 +02:00
Lucian Copeland
6ecfdda580 Add Readme 2020-09-14 13:18:51 -04:00
Jeff Epler
32c8d9ec83
Merge pull request #3415 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-14 12:18:45 -05:00
DavePutz
4ca8c35f1f
Reverting some changes 2020-09-14 12:05:59 -05:00
DavePutz
da0a0f88f9
Reverting some prior changes 2020-09-14 11:27:08 -05:00
DavePutz
c812bee8f1
Reverting some prior changes 2020-09-14 11:25:59 -05:00
DavePutz
2eca4ee902
Update PulseIn.c 2020-09-14 11:04:45 -05:00
Lucian Copeland
e504438fd2 Remove unlicensed file, fix reset pin type check 2020-09-14 11:58:13 -04:00
DavePutz
c014ac3089
Reworked check for input taking too long 2020-09-14 10:54:57 -05:00
DavePutz
6b93f97de1
Removing some prior changes 2020-09-14 10:53:30 -05:00
DavePutz
127346f7ae
Removing some prior changes 2020-09-14 10:52:46 -05:00
DavePutz
c68098777d
Fixing up locale/circuitpython.pot date 2020-09-14 10:50:57 -05:00
Lucian Copeland
ecc219fe50 Merge remote-tracking branch 'upstream/main' into esp32-displayio-fix 2020-09-14 10:44:31 -04:00
Wellington Terumi Uemura
6bf6995022
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (795 of 795 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-14 15:47:37 +02:00
Jeff Epler
94e261370b
Merge pull request #3413 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-14 08:47:30 -05:00
Kamil Tomaszewski
ce7ee58e92 camera: Update camera module 2020-09-14 13:12:20 +02:00
Kamil Tomaszewski
a25e3c2858 locale: make translate 2020-09-14 13:12:20 +02:00
Kamil Tomaszewski
c2fc592c2c camera: Change API 2020-09-14 13:11:15 +02:00
Kamil Tomaszewski
143a1ff94a spresense: change the GC to do 32-byte blocks 2020-09-14 13:11:15 +02:00
Kamil Tomaszewski
fbf4431aa0 locale: make translate 2020-09-14 13:11:15 +02:00
Kamil Tomaszewski
1fde8ef9bc spresense: Add support for camera 2020-09-14 13:11:15 +02:00
Kamil Tomaszewski
064c597b60 camera: Implement new library for camera 2020-09-14 13:11:15 +02:00
Hosted Weblate
90b21ce548
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-14 04:29:00 +02:00
Jeff Epler
814339abb9
Merge pull request #3405 from jepler/implicit-fallthrough-diagnostic
Enable implicit fallthrough diagnostic, note intentional fallthroughs.
2020-09-13 21:28:51 -05:00
Jeff Epler
9409a2c34c
Merge pull request #3412 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-13 20:41:06 -05:00
b3bdd4686b PacketBuffer: add missing 'break's, remove unneeded {} 2020-09-13 15:10:38 -05:00
af24c8ae06 Merge remote-tracking branch 'origin/main' into implicit-fallthrough-diagnostic
Conflict in locale/circuitpython.pot resolved with 'make translate'
2020-09-13 14:21:21 -05:00
Hosted Weblate
bbf2e98827
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-13 21:19:10 +02:00
Jeff Epler
73ad78ed1b
Merge pull request #3395 from microDev1/safeMode
Add esp32s2 safe mode support & fix user_safe_mode output
2020-09-13 14:18:59 -05:00
90f7340bfc move implicit-fallthrough warning enable to defns.mk 2020-09-13 13:13:09 -05:00
Jeff Epler
9abfc51ced
Merge pull request #3 from ciscorn/dict-comp
Small improvements to the dictionary compression
2020-09-13 12:58:13 -05:00
Jeff Epler
a81a2cff02
Merge pull request #3411 from jepler/ble-doc-typo
_bleio: fix markup typo
2020-09-13 12:50:12 -05:00
microDev
506bb097f7
Update safe_mode.c 2020-09-13 23:17:14 +05:30
microDev
36da92075b Update safe mode reason 2020-09-13 22:57:24 +05:30
e5122b1acf _bleio: fix markup typo 2020-09-13 11:56:34 -05:00
Taku Fukada
d18d79ac47 Small improvements to the dictionary compression 2020-09-14 01:50:01 +09:00
microDev
5deac8d249 Update board specific safe mode message 2020-09-13 18:22:40 +05:30
Limor "Ladyada" Fried
ca136db210
Merge pull request #3407 from ladyada/qtpy_m0
cutie variant
2020-09-12 21:58:46 -04:00
15964a4750 makeqstrdata: Avoid encoding problems
Most users and the CI system are running in configurations where Python
configures stdout and stderr in UTF-8 mode.  However, Windows is different,
setting values like CP1252.  This led to a build failure on Windows, because
makeqstrdata printed Unicode strings to its stdout, expecting them to be
encoded as UTF-8.

This script is writing (stdout) to a compiler input file and potentially
printing messages (stderr) to a log or console.  Explicitly configure stdout to
use utf-8 to get consistent behavior on all platforms, and configure stderr so
that if any log/diagnostic messages are printed that cannot be displayed
correctly, they are still displayed instead of creating an error while trying
to print the diagnostic information.

I considered setting the encodings both to ascii, but this would just be
occasionally inconvenient to developers like me who want to show diagnostic
info on stderr and in comments while working with the compression code.

Closes: #3408
2020-09-12 19:43:08 -05:00
lady ada
cc57ef8368 add to buildyml! 2020-09-12 19:58:27 -04:00
lady ada
2fac4851a5 fix typo, tested hardware, neopixel doesnt work tho 2020-09-12 19:56:13 -04:00
lady ada
6fff4ec00d cutie variant 2020-09-12 19:00:26 -04:00
Jeff Epler
11eb55cade
Merge pull request #3406 from CarlFK/main
doc fix: remove the text about the non-existing clock specification
2020-09-12 17:51:28 -05:00
01fdd9598a disable iimplicit-fallthrough warning inside asf4
.. there is an instance of it that looks like a "true positive", but it only
affects sdhc transfers that are not a multiple of 4 bytes, which I don't think
happens. (sd card blocks are always 512 bytes)  I can fix this in our
asf4 repo but that would mean this should be deferred until after #3384 is
merged, since that also touches asf4 very invasively by adding a whole new
chip family.
2020-09-12 17:48:42 -05:00
7151ee85ce _bleio: add missing break statement 2020-09-12 16:30:12 -05:00
Carl Karsten
2f058029e9 doc fix: remove the text about the non-existing clock specification 2020-09-12 15:25:04 -05:00
Jeff Epler
487de0551c
Merge pull request #3401 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-12 15:21:43 -05:00
5729097bc4 atmel-samd: enable build error for implicit fallthrough
If any diagnostics occur, we will want to either add `/* FALLTHROUGH */`
or `break;` as appropriate.  I only tested a few builds (trinket m0
and metro m4 express)
2020-09-12 15:11:29 -05:00
12d826d941 Add FALLTHROUGH comments as needed
I investigated these cases and confirmed that the fallthrough behavior
was intentional.
2020-09-12 15:11:29 -05:00
4d70872b2b make translate 2020-09-12 15:11:02 -05:00
54d97251fe modstruct: Improve compliance with python3
While checking whether we can enable -Wimplicit-fallthrough, I encountered
a diagnostic in mp_binary_set_val_array_from_int which led to discovering
the following bug:
```
>>> struct.pack("xb", 3)
b'\x03\x03'
```
That is, the next value (3) was used as the value of a padding byte, while
standard Python always fills "x" bytes with zeros.  I initially thought
this had to do with the unintentional fallthrough, but it doesn't.
Instead, this code would relate to an array.array with a typecode of
padding ('x'), which is ALSO not desktop Python compliant:
```
>>> array.array('x', (1, 2, 3))
array('x', [1, 0, 0])
```
Possibly this is dead code that used to be shared between struct-setting
and array-setting, but it no longer is.

I also discovered that the argument list length for struct.pack
and struct.pack_into were not checked, and that the length of binary data
passed to array.array was not checked to be a multiple of the element
size.

I have corrected all of these to conform more closely to standard Python
and revised some tests where necessary.  Some tests for micropython-specific
behavior that does not conform to standard Python and is not present
in CircuitPython was deleted outright.
2020-09-12 14:07:23 -05:00
Wellington Terumi Uemura
7cb60d3b69 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (793 of 793 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-12 20:18:38 +02:00
Limor "Ladyada" Fried
b24d3b886a
Merge pull request #3399 from jepler/feather-m4-quadspi
feather_m4_express: Use quad data mode on flash
2020-09-12 14:18:32 -04:00
Jeff Epler
4fa419a751
Merge pull request #3390 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-12 12:27:07 -05:00
40ab5c6b21 compression: Implement ciscorn's dictionary approach
Massive savings.  Thanks so much @ciscorn for providing the initial
code for choosing the dictionary.

This adds a bit of time to the build, both to find the dictionary
but also because (for reasons I don't fully understand), the binary
search in the compress() function no longer worked and had to be
replaced with a linear search.

I think this is because the intended invariant is that for codebook
entries that encode to the same number of bits, the entries are ordered
in ascending value.  However, I mis-placed the transition from "words"
to "byte/char values" so the codebook entries for words are in word-order
rather than their code order.

Because this price is only paid at build time, I didn't care to determine
exactly where the correct fix was.

I also commented out a line to produce the "estimated total memory size"
-- at least on the unix build with TRANSLATION=ja, this led to a build
time KeyError trying to compute the codebook size for all the strings.
I think this occurs because some single unicode code point ('ァ') is
no longer present as itself in the compressed strings, due to always
being replaced by a word.

As promised, this seems to save hundreds of bytes in the German translation
on the trinket m0.

Testing performed:
 - built trinket_m0 in several languages
 - built and ran unix port in several languages (en, de_DE, ja) and ran
   simple error-producing codes like ./micropython -c '1/0'
2020-09-12 10:10:45 -05:00
microDev
e9f411bebc Add translation for safe mode 2020-09-12 18:10:04 +05:30
microDev
4da478382d Fix serial console output & add more boards 2020-09-12 17:46:52 +05:30
FoamyGuy
e114b5ab54 fixes showing OnDiskBitmap with adafruit_sdcard 2020-09-11 21:37:00 -05:00
Scott Shawcroft
8f58669ddd
Fix bug with socket.recv_into size == 0.
It returned 0 when it should have filled the buffer.

Python reference: https://docs.python.org/3/library/socket.html#socket.socket.recv_into
2020-09-11 16:17:20 -07:00
Hosted Weblate
5197085d79 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-11 21:48:01 +02:00
Scott Shawcroft
7611e71a1b
Merge pull request #3374 from kmatch98/shape_update
Add dirty rectangle tracking to Shape display element
2020-09-11 12:47:54 -07:00
Scott Shawcroft
01daf5b8ce
Merge pull request #3378 from DavePutz/issue3266
Fix for #3266: ensure SPI lock is free after a soft reboot
2020-09-11 12:41:06 -07:00
DavePutz
72bda346db
Merge pull request #26 from adafruit/main
update from adafruit/main
2020-09-11 11:35:51 -05:00
root
870326b221 Moved SPI unlock code 2020-09-11 10:54:46 -05:00
microDev
305bed6d9e Added esp32s2 safe_mode & fixed user_safe_mode 2020-09-11 21:06:54 +05:30
Kevin Matocha
37e85aebd2 Fix off-by-one error, simplify the logic, add comments 2020-09-10 21:34:03 -05:00
cacb0124ac feather_m4_express: Use quad data mode on flash
Limor confirmed that the all shipping revisions starting with Rev D had QSPI flash chips installed.

Note that when neither EXTERNAL_FLASH_QSPI_SINGLE nor EXTERNAL_FLASH_QSPI_DUAL is specified quad mode is assumed, so this is addressed by removing the setting altogether.
2020-09-10 20:20:21 -05:00
Scott Shawcroft
9256e6b376
Merge pull request #3302 from xiongyihui/main
support to get HID OUT report
2020-09-10 17:35:04 -07:00
Scott Shawcroft
c7c90f47b0
Add non-DMA SPI support.
This fixes SPI with PSRAM allocated buffers. DMA with SPI2 was
attempted but produced junk output. This manual copy is less than
2x slower than DMA when not interrupted.

Fixes #3339
2020-09-10 17:32:20 -07:00
Lucian Copeland
f95ad7b27c Fix reset pin null reference, construct error null reference 2020-09-10 15:37:43 -04:00
Scott Shawcroft
9e722c8c99
Merge pull request #3375 from DavePutz/issue3296
Correction for Issue #3296 - ble hanging on nrf52840
2020-09-10 12:36:17 -07:00
Scott Shawcroft
e5dd2a32f4
Merge pull request #3388 from jerryneedell/jerryn_rfm69
freeze rfm69 and bus_device libraries into feather_m0_rfm69
2020-09-10 11:49:37 -07:00
Scott Shawcroft
1ba28b3edc
Merge pull request #3370 from jepler/compression-bigrams
add bigram compression to makeqstrdata (save ~100 bytes on trinket m0 de_DE)
2020-09-10 11:44:56 -07:00
Dan Halbert
f0bb9635bf
MIssed one change for .last_received_report 2020-09-10 14:21:36 -04:00
Scott Shawcroft
683462c1b1
Merge pull request #3326 from tannewt/native_wifi
Add native wifi API with ESP32S2 support
2020-09-10 11:20:44 -07:00
Dan Halbert
40f3cd3615
Change .report to .last_received_report 2020-09-10 13:26:51 -04:00
Dan Halbert
af742b9ba7
Merge pull request #3386 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-10 09:34:05 -04:00
Scott Shawcroft
f3fc7c1c72
Add safe mode translation 2020-09-09 14:34:57 -07:00
Jerry Needell
2529ee2359 freeze rfm69 and bus_device libraries int feather_m0_rfm69 2020-09-09 14:54:20 -04:00
Lucian Copeland
be199983c1 Merge remote-tracking branch 'upstream/main' into esp32-displayio-fix 2020-09-09 13:24:30 -04:00
Jelle Jager
5322aa5fcd
Translated using Weblate (Dutch)
Currently translated at 99.2% (779 of 785 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-09-09 18:05:17 +02:00
hierophect
66cf6c46c0
Merge pull request #3382 from microDev1/tempSense
Add esp32s2 internal temp sensor support
2020-09-09 12:05:10 -04:00
root
59165cabbe Removed unneeded pointer 2020-09-09 10:36:55 -05:00
root
61e1c906bf Merge branch 'issue3266' of https://github.com/DavePutz/circuitpython into issue3266 2020-09-09 09:34:55 -05:00
root
24a18c63f9 Moved SPI unlock to reset_board_busses() 2020-09-09 09:32:25 -05:00
0eee93729a Fix decompression of unicode values above 2047
Two problems: The lead byte for 3-byte sequences was wrong, and one
mid-byte was not even filled in due to a missing "++"!

Apparently this was broken ever since the first "Compress as unicode,
not bytes" commit, but I believed I'd "tested" it by running on the
Pinyin translation.

This rendered at least the Korean and Japanese translations completely
illegible, affecting 5.0 and all later releases.
2020-09-08 20:54:47 -05:00
Kevin Matocha
d600759bc8 Utilize MIN and MAX functions from py/misc.h 2020-09-08 20:02:34 -05:00
bdb07adfcc translations: Make decompression clearer
Now this gets filled in with values e.g., 128 (0x80) and 159 (0x9f).
2020-09-08 19:07:53 -05:00
Scott Shawcroft
99f5011d74
Fix heap without PSRAM. Never set heap_size. 2020-09-08 17:06:09 -07:00
b49099c8f3 additional asf4 updates 2020-09-08 15:31:13 -05:00
Scott Shawcroft
bbd802940e
Merge pull request #3377 from jepler/support-udecimal
core: Enable some features neede for a port of python3's decimal module
2020-09-08 13:10:57 -07:00
baa2d7fd56 add new board to CI 2020-09-08 14:08:52 -05:00
e066448e36 atmel-samd: add same51, feather_m4_can
This is compile-tested, and requires updates in the related submodules:

https://github.com/adafruit/samd-peripherals/pull/35
https://github.com/adafruit/asf4/pull/37

This should not be merged until those can also be merged.
2020-09-08 13:06:45 -05:00
microDev
14af8e4b42
Added temp_sensor_stop
Co-authored-by: hierophect <hierophect@gmail.com>
2020-09-08 21:07:00 +05:30
microDev
c68723db3c
Update Processor.c 2020-09-08 15:13:48 +05:30
Jeff Epler
540e6d4285
Merge pull request #3352 from jepler/fix-release-build
shared_bindings_matrix revert to using shared-bindings
2020-09-07 16:13:53 -05:00
Jeff Epler
d2d5fe938d
Merge pull request #3380 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-07 16:12:09 -05:00
Jonny Bergdahl
19594f4adf
Translated using Weblate (Swedish)
Currently translated at 100.0% (785 of 785 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-09-07 21:36:07 +02:00
DavePutz
918a4733b4
Merge pull request #25 from DavePutz/main
update from main
2020-09-07 10:14:36 -05:00
DavePutz
7c162cd1c6
Merge pull request #24 from adafruit/main
Update from adafruit/main
2020-09-07 10:12:13 -05:00
7d58cdb12c update expected result with new method 2020-09-07 07:11:23 -05:00
root
8d27533cd4 Make sure SPI lock is free initially 2020-09-06 18:03:25 -05:00
73858ea682 circuitpy_mpconfig: enable 3-arg pow() with CIRCUITPY_FULL_BUILD
This is needed for a port of python3's decimal.py module.
2020-09-06 10:07:57 -05:00
20c2dd0c08 core: add int.bit_length() when MICROPY_CYPTHON_COMPAT is enabled
This method of integer objects is needed for a port of python3's
decimal.py module.

MICROPY_CPYTHON_COMPAT is enabled by CIRCUITPY_FULL_BUILD.
2020-09-06 09:53:16 -05:00
Jeff Epler
a9779b99fa
Merge pull request #3371 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-05 18:59:09 -05:00
root
2690faec43 Moved checks for invalid pin to common-hal/microcontroller/Pin.c 2020-09-05 11:42:06 -05:00
Kevin Matocha
297b7195b0 Delete unnecessary comment 2020-09-04 22:03:57 -05:00
root
ed6cc64c49 Corrected issue with BLE not working on nrf52840 2020-09-04 16:59:41 -05:00
Kevin Matocha
95db456a7e Add final newline 2020-09-04 14:23:53 -05:00
Kevin Matocha
9edad9ea85 Delete trailing blank lines from Shape.c 2020-09-04 14:21:49 -05:00
Kevin Matocha
f7714649ee Add dirty rectangle tracking to Shape display element 2020-09-04 14:15:15 -05:00
Wellington Terumi Uemura
e13698f8f7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (785 of 785 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-04 17:15:26 +02:00
Dan Halbert
42df254683
Merge pull request #3373 from dhalbert/trellis-m4-board-i2c
fix pins for trellis_m4 board.I2C()
2020-09-04 11:15:18 -04:00
Scott Shawcroft
96cf60fbbd
Merge remote-tracking branch 'adafruit/main' into native_wifi 2020-09-03 16:34:56 -07:00
Scott Shawcroft
0b94638aeb
Changes based on Dan's feedback 2020-09-03 16:32:12 -07:00
Dan Halbert
960888a3bd fix pins for trellis_m4 board.I2C() 2020-09-03 14:22:18 -04:00
cbfd38d1ce Rename functions to encode_ngrams / decode_ngrams 2020-09-02 19:09:23 -05:00
Scott Shawcroft
5d17d6402d
Merge pull request #3366 from kmatch98/refresh_now
Update refresh to force immediate redraw with `display.refresh()`
2020-09-02 16:37:46 -07:00
Scott Shawcroft
786f4ed114
Merge pull request #3344 from jepler/issue-3184
Fix RGBMatrix, FrameBufferDisplay bugs
2020-09-02 15:32:30 -07:00
c34cb82ecb makeqstrdata: correct range of low code points to 0x80..0x9f inclusive
The previous range was unintentionally big and overlaps some characters
we'd like to use (and also 0xa0, which we don't intentionally use)
2020-09-02 15:52:02 -05:00
f1c7389b29 locales: Replace NBSP characters with true spaces
These characters, at code point 0xa0, are unintended.
2020-09-02 15:50:51 -05:00
Jeff Epler
17a5a85528 rgbmatrix: Move struct definition to shared-module, rename 'core' member 2020-09-02 13:34:16 -05:00
Kevin Matocha
d224183a7e Delete trailing whitespace 2020-09-02 11:26:37 -05:00
Kevin Matocha
8256bf7ea6 Add backticks to function references in docs 2020-09-02 11:20:30 -05:00
Lucian Copeland
4733a67226 Add GDB debugging capability 2020-09-02 11:27:42 -04:00
Kevin Matocha
4b9306aa7c Cleanup for sphinx 2020-09-01 18:10:40 -05:00
Jeff Epler
07740d19f3 add bigram compression to makeqstrdata
Compress common unicode bigrams by making code points in the range
0x80 - 0xbf (inclusive) represent them.  Then, they can be greedily
encoded and the substituted code points handled by the existing Huffman
compression.  Normally code points in the range 0x80-0xbf are not used
in Unicode, so we stake our own claim.  Using the more arguably correct
"Private Use Area" (PUA) would mean that for scripts that only use
code points under 256 we would use more memory for the "values" table.

bigram means "two letters", and is also sometimes called a "digram".
It's nothing to do with "big RAM".  For our purposes, a bigram represents
two successive unicode code points, so for instance in our build on
trinket m0 for english the most frequent are:
['t ', 'e ', 'in', 'd ', ...].

The bigrams are selected based on frequency in the corpus, but the
selection is not necessarily optimal, for these reasons I can think of:
 * Suppose the corpus was just "tea" repeated 100 times.  The
   top bigrams would be "te", and "ea".  However,
   overlap, "te" could never be used.  Thus, some bigrams might actually
   waste space
    * I _assume_ this has to be why e.g., bigram 0x86 "s " is more
      frequent than bigram 0x85 " a" in English for Trinket M0, because
      sequences like "can't add" would get the "t " digram and then
      be unable to use the " a" digram.

 * And generally, if a bigram is frequent then so are its constituents.
   Say that "i" and "n" both encode to just 5 or 6 bits, then the huffman
   code for "in" had better compress to 10 or fewer bits or it's a net
   loss!
    * I checked though!  "i" is 5 bits, "n" is 6 bits (lucky guess)
      but the bigram 0x83 also just 6 bits, so this one is a win of
      5 bits for every "it" minus overhead.  Yay, this round goes to team
      compression.
    * On the other hand, the least frequent bigram 0x9d " n" is 10 bits
      long and its constituent code points are 4+6 bits so there's no
      savings, but there is the cost of the table entry.
    * and somehow 0x9f 'an' is never used at all!

With or without accounting for overlaps, there is some optimum number
of bigrams.  Adding one more bigram uses at least 2 bytes (for the
entry in the bigram table; 4 bytes if code points >255 are in the
source text) and also needs a slot in the Huffman dictionary, so
adding bigrams beyond the optimim number makes compression worse again.

If it's an improvement, the fact that it's not guaranteed optimal
doesn't seem to matter too much.  It just leaves a little more fruit
for the next sweep to pick up.  Perhaps try adding the most frequent
bigram not yet present, until it doesn't improve compression overall.

Right now, de_DE is again the "fullest" build on trinket_m0.  (It's
reclaimed that spot from the ja translation somehow)  This change saves
104 bytes there, increasing free space about 6.8%.  In the larger
(but not critically full) pyportal build it saves 324 bytes.

The specific number of bigrams used (32) was chosen as it is the max
number that fit within the 0x80..0xbf range.  Larger tables would
require the use of 16 bit code points in the de_DE build, losing savings
overall.

(Side note: The most frequent letters in English have been said
to be: ETA OIN SHRDLU; but we have UAC EIL MOPRST in our corpus)
2020-09-01 17:12:22 -05:00
Jeff Epler
f27b89632d
Merge pull request #3357 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-01 16:13:25 -05:00
Kevin Matocha
554cc356db Delete trailing whitespace 2020-09-01 15:43:18 -05:00
Kevin Matocha
7b6d805580 Add Optional[int] to docs string 2020-09-01 15:40:55 -05:00
Kevin Matocha
649a955a74 Modified docs to try to pass sphinx build 2020-09-01 15:02:37 -05:00
Kevin Matocha
c6529daac5 Added some backticks to clarify the docs 2020-09-01 14:44:32 -05:00
Kevin Matocha
f5015e4485 Add hanging tab to doc 2020-09-01 14:36:43 -05:00
Kevin Matocha
e14de38528 Revise .refresh input default value for target_frames_per_second to None 2020-09-01 13:57:19 -05:00
bb17882065
Translated using Weblate (Japanese)
Currently translated at 68.7% (536 of 780 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-09-01 20:44:01 +02:00
Hosted Weblate
00eb0b5a1a
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-09-01 20:28:15 +02:00
Taku Fukada
23fc7a573e Translated using Weblate (Japanese)
Currently translated at 68.7% (536 of 780 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-09-01 20:28:14 +02:00
Wellington Terumi Uemura
51acfbbb01 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (780 of 780 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-01 20:28:14 +02:00
Scott Shawcroft
f0e60da51f
Merge pull request #3310 from dhalbert/ble_hci
_bleio HCI implementation
2020-09-01 11:28:05 -07:00
Dan Halbert
4e3cb55ce7 share more of _bleio dict; fix one doc error 2020-09-01 12:41:58 -04:00
3c083330f8 RGBMatrix: Remove unused, dead allocation
@tannewt noticed this in a pull request review.  The allocated
memory was never used, but the GC would have collected it eventually.
2020-09-01 11:00:22 -05:00
71c63c2812 FramebufferDisplay: Don't set rotation via core_construct
The expectations of displayio.Display and frambufferio.FramebufferDisplay
are different when it comes to rotation.

In displayio.Display, if you call core_construct with a WxH = 64x32
and rotation=90, you get something that is 32 pixels wide and 64 pixels
tall in the LCD's coordinate system.

This is fine, as the existing definitions were written to work like this.
With framebuffer displays, however, the underlying framebuffer (such as
RGBMatrix) says "I am WxH pixels wide in my coordinate system" and the
constructor is given a rotation; when the rotation indicates a transpose
that means "exchange rows and columns, so that to the Groups displayed
on it, there is an effectively HxW pixel region for use".

Happily, we already have a set_rotation method.  Thus (modulo the time
spent debugging things anyway:) the fix is simple: Always request no
rotation from core_construct, then immediately fix up the rotation
to match what was requested.

Testing performed: 32x16 RGBMatrix on Metro M4 Express (but using
the Airlift firmware, as this is the configuration the error was reported
on):
 * initially construct display at 0, 90, 180, 270 degrees
 * later change angle to 0, 90, 180, 270 degrees
 * no garbled display
 * no safe mode crashes
2020-09-01 11:00:22 -05:00
ce603dfebf rgbmatrix: Disable timer while reconstructing the display 2020-09-01 11:00:22 -05:00
dfa90cc11d allocator.h: add a missing license notice 2020-09-01 11:00:19 -05:00
e01ade3848 rgbmatrix: Don't inline the allocator functions 2020-09-01 11:00:07 -05:00
2f120c70ee rgbmatrix: recover gracefully from allocation errors
e.g., allocating a 192x32x6bpp matrix would be enough to trigger this
reliably on a Metro M4 Express using the "memory hogging" layout.
Allocating 64x32x6bpp could trigger it, but somewhat unreliably.

There are several things going on here:
 * we make the failing call with interrupts off
 * we were throwing an exception with interrupts off
 * protomatter failed badly in _PM_free when it was partially-initialized

Incorporate the fix from protomatter, switch to a non-throwing malloc
variant, and ensure that interrupts get turned back on.

This decreases the quality of the MemoryError (it cannot report the size
of the failed allocation) but allows CircuitPython to survive, rather
than faulting.
2020-09-01 10:55:45 -05:00
9bd2a61d8b supervisor: Always allocate at least a 1x1 terminal
Otherwise, out of range writes would occur in tilegrid_set_tile, causing a safe mode reset.
```
Hardware watchpoint 6: -location *stack_alloc->ptr

Old value = 24652061
New value = 24641565
0x000444f2 in common_hal_displayio_tilegrid_set_tile (self=0x200002c8 <supervisor_terminal_text_grid>, x=1, y=1, tile_index=0 '\000')
    at ../../shared-module/displayio/TileGrid.c:236
236	    if (!self->partial_change) {
(gdb)
```
2020-09-01 10:55:45 -05:00
952d9bbb4a samd: Ignore a maybe-uninitialized diagnostic in asf4
I encountered this when changing optimization flags for debugging
purposes.  The diagnostic appears spurious and unrelated to what
I'm debugging.
2020-09-01 10:55:45 -05:00
ad4bf75367 samd: only set NDEBUG for non-debug builds 2020-09-01 10:55:45 -05:00
Kevin Matocha
8be862e644 Remove trailing whitespace 2020-09-01 10:26:48 -05:00
Kevin Matocha
c4b1db006f delete unnecessary comment 2020-09-01 09:38:57 -05:00
Kevin Matocha
fc513956be Update refresh to force immediate redraw with display.refresh() or display.refresh(target_frames_per_second=None), even with auto_refresh=False 2020-09-01 09:36:29 -05:00
Dan Halbert
ee1b142f5d
Merge pull request #3363 from dhalbert/matrix-portal
matrix portal board
2020-09-01 10:25:00 -04:00
Jeff Epler
e8a29ece23
Merge pull request #3358 from jepler/esp-idf-submodules
actions: Clone the esp-idf submodules ourselves
2020-09-01 07:07:05 -05:00
Dan Halbert
4ac7650f22 matrix portal board 2020-08-31 23:56:38 -04:00
Scott Shawcroft
877a4f47cc
Merge pull request #3355 from jepler/import-builtin-submodule-crash-unix
builtinimport: Fix a crash with 'import ulab.linalg' on unix port only
2020-08-31 14:44:18 -07:00
Jeff Epler
8b2ae355ef
Merge pull request #3359 from adafruit/endpoint-counting-debug-remove
Remove debugging print-out for endpoint checking.
2020-08-31 06:44:26 -05:00
Dan Halbert
07e2fc721a
Remove debugging print-out for endpoint checking. 2020-08-30 23:14:50 -04:00
ef8cde94a4 actions: Clone the esp-idf submodules ourselves
Builds of the esp32s2 targets frequently fail:
```
-- Found Git: /usr/bin/git (found version "2.28.0")
-- Initialising new submodule components/asio/asio...
warning: could not look up configuration 'remote.origin.url'. Assuming this repository is its own authoritative upstream.
Submodule 'components/asio/asio' (/home/runner/work/circuitpython/circuitpython/ports/espressif/asio.git) registered for path 'components/asio/asio'
fatal: repository '/home/runner/work/circuitpython/circuitpython/ports/espressif/asio.git' does not exist
fatal: clone of '/home/runner/work/circuitpython/circuitpython/ports/espressif/asio.git' into submodule path '/home/runner/work/circuitpython/circuitpython/ports/esp32s2/esp-idf/components/asio/asio' failed
Failed to clone 'components/asio/asio'. Retry scheduled
fatal: repository '/home/runner/work/circuitpython/circuitpython/ports/espressif/asio.git' does not exist
fatal: clone of '/home/runner/work/circuitpython/circuitpython/ports/espressif/asio.git' into submodule path '/home/runner/work/circuitpython/circuitpython/ports/esp32s2/esp-idf/components/asio/asio' failed
Failed to clone 'components/asio/asio' a second time, aborting
CMake Error at esp-idf/tools/cmake/git_submodules.cmake:48 (message):
  Git submodule init failed for components/asio/asio
Call Stack (most recent call first):
  esp-idf/tools/cmake/build.cmake:78 (git_submodule_check)
  esp-idf/tools/cmake/build.cmake:160 (__build_get_idf_git_revision)
  esp-idf/tools/cmake/idf.cmake:49 (__build_init)
  esp-idf/tools/cmake/project.cmake:7 (include)
  CMakeLists.txt:8 (include)
```

It's not clear how/why this happens--is it something to do with our
multithreaded build?.  Attempt to clear it up by manually checking out these
submodules ourselves.
2020-08-30 20:51:04 -05:00
Jeff Epler
5084d2b56b
Merge pull request #3356 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-30 19:37:17 -05:00
aba27c12e5
Translated using Weblate (Swedish)
Currently translated at 99.4% (776 of 780 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-08-30 22:02:59 +02:00
Dan Halbert
f5a5fc4c84 Fix stub; mismatched triple quotes 2020-08-30 14:59:03 -04:00
Dan Halbert
6dbd369272 merge from upstream 2020-08-30 14:39:03 -04:00
Dan Halbert
767f3d0feb make translate 2020-08-30 14:35:02 -04:00
Hosted Weblate
6b506ab0ad
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-08-30 20:28:56 +02:00
Jonny Bergdahl
aeeec58178
Translated using Weblate (Swedish)
Currently translated at 99.8% (776 of 777 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-08-30 20:28:55 +02:00
Dan Halbert
b27d511251 address review; use constructor for HCI Adapter 2020-08-30 14:06:48 -04:00
DavePutz
6357093334
Merge pull request #23 from adafruit/main
Update from adafruit/main
2020-08-30 12:50:06 -05:00
455226ffde builtinimport: Fix a crash with 'import ulab.linalg' on unix port only
A crash like the following occurs in the unix port:
```
Program received signal SIGSEGV, Segmentation fault.
0x00005555555a2d7a in mp_obj_module_set_globals (self_in=0x55555562c860 <ulab_user_cmodule>, globals=0x55555562c840 <mp_module_ulab_globals>) at ../../py/objmodule.c:145
145	    self->globals = globals;
(gdb) up
#1  0x00005555555b2781 in mp_builtin___import__ (n_args=5, args=0x7fffffffdbb0) at ../../py/builtinimport.c:496
496	                mp_obj_module_set_globals(outer_module_obj,
(gdb)
#2  0x00005555555940c9 in mp_import_name (name=824, fromlist=0x555555621f10 <mp_const_none_obj>, level=0x1) at ../../py/runtime.c:1392
1392	    return mp_builtin___import__(5, args);
```

I don't understand how it doesn't happen on the embedded ports, because
the module object should reside in ROM and the assignment of self->globals
should trigger a Hard Fault.

By checking VERIFY_PTR, we know that the pointed-to data is on the heap
so we can do things like mutate it.
2020-08-30 11:09:49 -05:00
Limor "Ladyada" Fried
0adccc50dc
Merge pull request #3346 from tannewt/add_kaluga
Add Kaluga board definition
2020-08-29 21:05:20 -04:00
28f0139e6e shared_bindings_matrix revert to using shared-bindings
.. hard-coding ulab for now.

It also fixes a problem where board_name was unassigned when
use_branded_name was False, which only happened at release-building
time.

Trying to change this caused multiple problems in the release process.
2020-08-29 07:37:00 -05:00
Scott Shawcroft
7b59ede25e
Add remaining pins 2020-08-28 18:22:22 -07:00
Limor "Ladyada" Fried
d858d048c1
Merge pull request #3348 from ladyada/main
add default I2C
2020-08-28 20:24:28 -04:00
Scott Shawcroft
0bb5c6c07f
Add unique USB PID 2020-08-28 16:37:25 -07:00
lady ada
81870413af add default I2C 2020-08-28 19:08:36 -04:00
Scott Shawcroft
a09243472c
Add Kaluga board definition 2020-08-28 16:08:24 -07:00
Dan Halbert
893a125dd0
Merge pull request #3338 from jepler/endpoint-count-checking-stm32f405
add endpoint count checking on stm32f405
2020-08-28 11:12:31 -04:00
Dan Halbert
ac06202c21
Merge pull request #3238 from ElectronicCats/bastwifi
Add Bastwifi by Electronic Cats
2020-08-28 11:03:52 -04:00
Scott Shawcroft
5d8ac0428b
-Os espruino_pico to save space 2020-08-27 13:34:37 -07:00
563e038c0d stm: Specify max endpoints for stm32f405xx
.. which is why we can't have HID or MIDI on the stm32f405 feather
2020-08-27 15:11:17 -05:00
a03b6a99e6 gen_usb_descriptor: Fix off-by-1 error in endpoint counting 2020-08-27 15:10:52 -05:00
Scott Shawcroft
2b71635c49
Fix esp-idf requirements 2020-08-27 11:45:51 -07:00
Scott Shawcroft
fd6e63d806
Hopefully final partition scheme. 2020-08-27 11:43:06 -07:00
Scott Shawcroft
767ca5c3dc
Merge remote-tracking branch 'adafruit/main' into native_wifi 2020-08-27 11:42:31 -07:00
Jeff Epler
49a22b0c55
Merge pull request #3320 from hierophect/stm32-meowbit-fix
STM32: Fix Meowbit startup and associated bugs
2020-08-27 13:05:56 -05:00
Dan Halbert
24fb08dbd9
Merge pull request #3337 from hierophect/pulseout-errorstyle
Fix problematic whitespace on pulseout parameter errors
2020-08-27 13:22:26 -04:00
Dan Halbert
350e88d4b9
Merge pull request #3324 from hierophect/esp32-random
Add random to ESP32-S2, fix it on STM32
2020-08-27 13:22:05 -04:00
Dan Halbert
6100027243
Merge pull request #3315 from tannewt/add_psram
Add PSRAM support to ESP32S2
2020-08-27 11:58:59 -04:00
Lucian Copeland
e2559efb93 translations 2020-08-27 11:21:39 -04:00
Lucian Copeland
8021da08d3 Fix problematic whitespace on pulseout parameter errors 2020-08-27 11:07:47 -04:00
hierophect
772052598d
Merge branch 'main' into stm32-meowbit-fix 2020-08-27 11:00:29 -04:00
hierophect
a15f948a40
Merge branch 'main' into esp32-random 2020-08-27 10:49:14 -04:00
Dan Halbert
fe73cfb922
Merge pull request #3333 from hierophect/esp32-enable-ulab
Fix all assignments affected by inline makefile comments
2020-08-27 10:36:59 -04:00
sommersoft
58d5f99394
Merge pull request #3335 from jepler/fix-doc-build
conf.py (docs): Reorder the steps of the doc build
2020-08-26 21:45:47 -05:00
200a296b5c conf.py (docs): Reorder the steps of the doc build
Since e121e267ad, the shared bindings matrix uses the stubs.
Therefore, we must build them!  This should fix the failure to build
the docs on readthedocs.org.

Neither @sommersoft nor I saw this locally since we had previously built
the stubs.  github CI didn't see it, because it manually builds the stubs
in an earlier step of the build process, and does not clean the tree
in between.
2020-08-26 20:41:25 -05:00
Scott Shawcroft
46dc133d04
Fix stub and doc builds 2020-08-26 17:18:16 -07:00
Lucian Copeland
8d2299e61e Merge remote-tracking branch 'upstream/main' into stm32-meowbit-fix 2020-08-26 18:50:26 -04:00
Lucian Copeland
c229345741 improve efficiency of stm32 random gen 2020-08-26 18:47:19 -04:00
Lucian Copeland
553ac576eb Disable ulab 2020-08-26 17:48:29 -04:00
Lucian Copeland
ad733e6c4a rename reader tool 2020-08-26 17:37:05 -04:00
sommersoft
58a7419b4f
Merge pull request #3332 from jepler/shared-bindings-matrix-ulab
Shared bindings matrix ulab
2020-08-26 15:45:56 -05:00
Lucian Copeland
c77523503b Fix trailing whitespace errors across ports and docs 2020-08-26 14:48:46 -04:00
Dan Halbert
4a682cd720
Merge pull request #3330 from jepler/fix-line-endings
microdev_micro_s2: Fix DOS line endings, they give my git fits
2020-08-26 12:43:38 -04:00
e121e267ad shared_bindings_matrix: Use stubs, not shared-bindings
This fixes a problem where things that were in extmod/ could not
be listed.
2020-08-26 11:29:59 -05:00
5422dd682c shared_bindings_matrix: Run in parallel
.. this makes it take a fraction of the time, at least on systems
with a lot of CPU threads.  Even on my old laptop with a 2-core CPU
it reduces the time from 55s to 27s.
2020-08-26 11:29:55 -05:00
Jeff Epler
44342732a4 Fix DOS line endings, they give my git fits 2020-08-26 10:56:00 -05:00
Dan Halbert
5755160720
Merge pull request #3322 from microDev1/microS2
Added board - microS2
2020-08-26 11:03:46 -04:00
microDev
f26d15c5c9
Added PSRAM support 2020-08-26 18:39:30 +05:30
Dan Halbert
01ddb177fc Remove whitespace in sdkconfig 2020-08-26 09:07:54 -04:00
Dan Halbert
5f5a0e749b
Remove trailing whitespace 2020-08-26 09:04:17 -04:00
Dan Halbert
3f5dd5ce58
Remove trailing whitespace from sdkconfig 2020-08-26 09:03:12 -04:00
Dan Halbert
f7d224705f
Trim trailing whitespace in pins.c 2020-08-26 09:01:27 -04:00
Dan Halbert
0c9513a2e7
Remove trailing whitespace 2020-08-26 09:00:16 -04:00
microDev
0425305a73
Change microS2 board name 2020-08-26 08:40:46 +05:30
microDev
b019ef2e43
Change microS2 board name 2020-08-26 08:38:42 +05:30
microDev
f1f316c502
Change microS2 board name 2020-08-26 08:37:36 +05:30
microDev
3f699024d9
Change microS2 board name 2020-08-26 08:36:38 +05:30
microDev
1dce6bd7ca
Change microS2 board name 2020-08-26 08:35:09 +05:30
microDev
bf2b594066
Change microS2 board name 2020-08-26 08:33:21 +05:30
microDev
964a39164e
Changed microS2 board name 2020-08-26 08:23:54 +05:30
Jeff Epler
2e0a109331
Merge pull request #3318 from jepler/interrupt-serial-rx
supervisor: check for interrupt during rx_chr
2020-08-25 21:01:33 -05:00
Scott Shawcroft
6fbeb28bd6
Update translations 2020-08-25 16:40:45 -07:00
Scott Shawcroft
8b71e26abd
Merge remote-tracking branch 'adafruit/main' into native_wifi 2020-08-25 16:39:23 -07:00
Scott Shawcroft
380cbfba55
Add hash to Socket so it can be used in dicts 2020-08-25 16:15:45 -07:00
Scott Shawcroft
f3bc712539
Fix SocketPool radio check 2020-08-25 16:15:00 -07:00
Scott Shawcroft
69fc872944
Fix espidf.MemoryError print 2020-08-25 16:14:31 -07:00
hierophect
78c512e86b
Merge pull request #3325 from hierophect/esp32-enable-ulab
ESP32-S2: Enable ulab
2020-08-25 15:24:36 -04:00
Lucian Copeland
f71f6631cc Enable ulab 2020-08-25 14:24:35 -04:00
Lucian Copeland
05bde255f7 Add random to ESP32-S2, fix it on STM32 2020-08-25 14:00:29 -04:00
Jeff Epler
c0753c1afb mp_obj_print_helper: Handle a ctrl-c that comes in during printing
In #2689, hitting ctrl-c during the printing of an object with a lot of sub-objects could cause the screen to stop updating (without showing a KeyboardInterrupt).  This makes the printing of such objects acutally interruptable, and also correctly handles the KeyboardInterrupt:

```
>>> l = ["a" * 100] * 200
>>> l
['aaaaaaaaaaaaaaaaaaaaaa...aaaaaaaaaaa', Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt:
>>>
```
2020-08-25 11:47:50 -05:00
Jeff Epler
e9bc8e892b pyexec: Handle a ctrl-c that comes in "very late"
In relatively unusual circumstances, such as entering `l = 17 ** 17777`
at the REPL, you could hit ctrl-c, but not get KeyboardInterrupt.
This can lead to a condition where the display would stop updating (#2689).
2020-08-25 11:45:00 -05:00
hierophect
2529c0aa83
Merge pull request #3299 from tannewt/add_pwmio
Split pulseio.PWMOut into pwmio
2020-08-25 11:46:25 -04:00
microDev
89c6a44e4e
Added microS2 specific config files 2020-08-25 20:35:08 +05:30
microDev
645adaadb0
Added microS2 specific config files 2020-08-25 20:32:44 +05:30
Lucian Copeland
de9fd4a0fb Fix null dereference, invert auto_brightness to reenable screen 2020-08-25 10:37:55 -04:00
Scott Shawcroft
2b470b1486
Fix RGB LED use 2020-08-24 18:29:50 -07:00
Scott Shawcroft
0cc438e6b9
Fix pycubed pwm use 2020-08-24 18:29:34 -07:00
Scott Shawcroft
1527a3ce92
Merge remote-tracking branch 'adafruit/main' into add_pwmio 2020-08-24 18:25:18 -07:00
Scott Shawcroft
5b1a1c773f
Merge pull request #3275 from kmatch98/bitmap_v2
Add `bitmap.blit` command for bitmap copy
2020-08-24 17:58:53 -07:00
Scott Shawcroft
5b8ded20a5
Merge pull request #3231 from jepler/gcc10
Add extern declarations for gcc10 compat
2020-08-24 17:46:33 -07:00
Lucian Copeland
c137a16121 Remove Meowbit LSE flag, harsher failure for LSE issues 2020-08-24 14:49:06 -04:00
microDev
3eea3b5311
Added microS2 specific config files 2020-08-24 11:12:35 +05:30
microDev
c79389c4d4
Added microS2 board to build.yml 2020-08-24 11:10:34 +05:30
1033e89561 supervisor: use mp_handle_pending to check for exceptions 2020-08-23 09:12:01 -05:00
Jeff Epler
f8a9e11ff4 WIP supervisor: check for interrupt during rx_chr 2020-08-23 08:47:18 -05:00
Jeff Epler
dc36a2c0b6
Merge pull request #3311 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-22 21:10:34 -05:00
Kevin Matocha
f55f2bfee1 shorten error strings 2020-08-21 21:40:46 -05:00
Kevin Matocha
7f629624db Added hanging indents to docs per @sommersoft's suggestion 2020-08-21 20:50:15 -05:00
root
fe0f79adce Making requested modifications 2020-08-21 20:38:19 -05:00
Kevin Matocha
983e1af33d remove other extraneous files 2020-08-21 19:10:13 -05:00
Kevin Matocha
dc502a5f26 remove extraneous files 2020-08-21 19:08:25 -05:00
Scott Shawcroft
f39708abb2
Add PSRAM support to ESP32S2
When configured the CircuitPython heap will be on the external RAM.
When not available, the heap will be 48k inside the IDF heap.
2020-08-21 16:20:58 -07:00
Kevin Matocha
5b6313e642 More tweaks to try to fix documentation failing 2020-08-21 16:13:18 -05:00
Kevin Matocha
f1fb2cde17 Minor tweaks to try to fix documentation failing 2020-08-21 16:12:40 -05:00
Dan Halbert
770c204d5a sphinx fixes 2020-08-21 17:03:45 -04:00
Scott Shawcroft
da61845f56
Add missing include 2020-08-21 13:32:59 -07:00
Kevin Matocha
9a6a156512 Update documentation string with blank line 2020-08-21 15:26:50 -05:00
Scott Shawcroft
644d2ba7a2 Add more "extern" declarations for gcc10 compat
gcc has tightened the restrictions on forward declarations that lack
"extern".  Fix them up.
2020-08-21 14:39:37 -05:00
Kevin Matocha
a9f6d147c4 Merge adafruit/main latest 2020-08-21 14:37:32 -05:00
Kevin Matocha
7e529ed4c5 Merge with latest adafruit/main 2020-08-21 14:28:24 -05:00
Kevin Matocha
3753ea3cd8 Merge remote-tracking branch 'source/main' into main 2020-08-21 14:19:58 -05:00
Kevin Matocha
24ca133396 Updating main to adafruit/main 2020-08-21 14:19:28 -05:00
Kevin Matocha
1e7e42b221 Updating to adafruit/main 2020-08-21 14:17:17 -05:00
Kevin Matocha
3747ea29c2 Merge remote-tracking branch 'source/main' into main 2020-08-21 14:14:38 -05:00
Scott Shawcroft
9a8b4e98bf
Add empty lines 2020-08-21 11:36:50 -07:00
Wellington Terumi Uemura
1fc551054a
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (777 of 777 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-08-21 20:19:59 +02:00
Scott Shawcroft
5771be9510
Merge pull request #3292 from jepler/allocate_display_bus_bug
allocate_display_bus: fix bug where in-use bus would be returned
2020-08-21 11:19:50 -07:00
Scott Shawcroft
83deea0e03
Fix copy pasta and stub build 2020-08-21 11:17:42 -07:00
Scott Shawcroft
a5b01f7361
Merge remote-tracking branch 'adafruit/main' into add_pwmio 2020-08-21 11:13:53 -07:00
Scott Shawcroft
701e80a025
Make socket reads interruptable 2020-08-21 11:00:02 -07:00
Dan Halbert
6553628fcb rename hci_include/README.dm to avoid triggering sphinx warning 2020-08-21 11:51:17 -04:00
Dan Halbert
8d785cbbe5 fix stubs; make translate 2020-08-21 11:37:15 -04:00
Dan Halbert
58573a70e1 bring submodules up to date 2020-08-21 11:10:33 -04:00
Jeff Epler
988e5caafc
Merge pull request #3307 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-21 10:05:28 -05:00
Dan Halbert
c21c39be5a merge from upstream; update ulab 2020-08-21 10:48:41 -04:00
Dan Halbert
f714f53552 Merge remote-tracking branch 'adafruit/main' into ble_hci 2020-08-21 10:45:05 -04:00
Dan Halbert
097f93a630 improve HCI packet error handling 2020-08-21 10:17:59 -04:00
Dan Halbert
490380a504 remove debugging uart code 2020-08-20 20:41:05 -04:00
Dan Halbert
0e30dd8bcc merge from upstream; working; includes debug_out code for debugging via Saleae for posterity 2020-08-20 20:29:57 -04:00
Hosted Weblate
f62b07cc8c Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-08-21 02:05:46 +02:00
Jeff Epler
ba2db853a4
Merge pull request #3308 from bwshockley/update_Mini_sam_m4_memory
Update mini sam m4 memory
2020-08-20 19:05:39 -05:00
root
5b228a77e6 Fixing date in locale/circuitpython.pot to avoid merge conflict 2020-08-20 17:19:25 -05:00
root
7e7f3b41b5 Updated locale/circuitpython.pot 2020-08-20 17:13:04 -05:00
DavePutz
43aef8af2f
Merge pull request #22 from adafruit/main
Merge from adafruit main
2020-08-20 17:08:24 -05:00
root
6eae7ce78f Requested changes to pulsein 2020-08-20 16:57:00 -05:00
Benjamin Shockley
135626a038
Update mpconfigboard.mk
Added support for second type of memory chip.
2020-08-20 13:50:52 -05:00
Benjamin Shockley
0084f0af24
Merge pull request #2 from adafruit/master
Master
2020-08-20 13:48:15 -05:00
Scott Shawcroft
400701004b
Merge pull request #3279 from hierophect/esp32-pulseinout
ESP32-S2: Add PulseOut and PulseIn
2020-08-20 11:24:08 -07:00
Scott Shawcroft
e47447ba59
Merge pull request #3306 from kamtom480/usb_fix
spresense: call usb_background function
2020-08-20 11:23:16 -07:00
Scott Shawcroft
27f0308662
Merge pull request #3305 from dunkmann00/utf8-repl-fix
Handle home, delete, & emacs key w/ utf-8 in repl
2020-08-20 11:22:25 -07:00
Scott Shawcroft
31a3d0e815
Merge pull request #3304 from jepler/count-usb-descriptors
Add usb-endpoint-count checking
2020-08-20 11:21:01 -07:00
Scott Shawcroft
a86d6aeac4
Merge pull request #3303 from jepler/samd-tinyusb-family
SAM E54: Use correct CFG_TUSB_MCU
2020-08-20 11:13:05 -07:00
Kamil Tomaszewski
e2891bc7d4 spresense: call usb_background function 2020-08-20 16:21:25 +02:00
George Waters
ebabc5db37
Handle home, delete, & emacs key w/ utf-8 in repl 2020-08-19 23:25:20 -04:00
Scott Shawcroft
80b15f6b3b
Add error handling w/temp debug logs 2020-08-19 17:51:33 -07:00
23aefe9509 Add usb-endpoint-count checking
.. however, the number of endpoints is only set for SAMD (8).
Other ports need to set the value.  Otherwise, the build will show
the message
```
Unable to check whether maximum number of endpoints is respected
```
2020-08-19 16:47:40 -05:00
Scott Shawcroft
eb8b42aff1
Add basic error handling 2020-08-19 14:23:28 -07:00
Scott Shawcroft
9602ee6265
Disable wifi debug logging and memory log 2020-08-19 14:23:28 -07:00
Scott Shawcroft
dcc42f6281
Remove debug prints 2020-08-19 14:23:28 -07:00
Scott Shawcroft
1034cc1217
Add espidf module. 2020-08-19 14:23:28 -07:00
Scott Shawcroft
b3a449c276
Turn on json and enable socket.close 2020-08-19 14:23:28 -07:00
Scott Shawcroft
430530c74b
SSL works until it runs out of memory 2020-08-19 14:23:28 -07:00
Scott Shawcroft
eb2c38825e
HTTP works with my adafruit_requests 2020-08-19 14:23:18 -07:00
Scott Shawcroft
c9ece21c28
SocketPool stubbed out 2020-08-19 14:22:13 -07:00
Scott Shawcroft
7bdd243bf6
Ping works! 2020-08-19 14:22:13 -07:00
Scott Shawcroft
3860991111
Ping work and start to add socketpool 2020-08-19 14:22:13 -07:00
Scott Shawcroft
c53a72d3f5
Fix ipaddress import and parse ipv4 strings 2020-08-19 14:22:13 -07:00
Scott Shawcroft
cdab5e793e
Update to latest idf 2020-08-19 14:22:13 -07:00
Scott Shawcroft
c62ab6e09a
Add ipaddress 2020-08-19 14:22:12 -07:00
Scott Shawcroft
ddcff85fa2
Add debugging. Scanning doesn't crash but returns no results. Need to config station. 2020-08-19 14:22:12 -07:00
Scott Shawcroft
1a6f4e0fe0
Scanning WIP. Need to sort out supervisor memory 2020-08-19 14:22:12 -07:00
Scott Shawcroft
c5b8401a15
First crack at native wifi API 2020-08-19 14:21:59 -07:00
Scott Shawcroft
837abd6da0
Merge pull request #3300 from jepler/count-missing-chars
gen_display_resources: report missing character count, if any
2020-08-19 10:19:46 -07:00
6ae5bedf3b SAM E54: Use correct CFG_TUSB_MCU
This doesn't actually change the code that is built, but it is
"more correct".
2020-08-19 11:27:52 -05:00
Yihui Xiong
9aca580195 fix 2020-08-19 21:33:51 +08:00
Yihui Xiong
8bab7b664c support to get HID OUT report 2020-08-19 20:18:17 +08:00
5056027238 gen_display_resources: report missing character count, if any 2020-08-18 19:25:09 -05:00
DavePutz
0311c34746
Merge pull request #21 from adafruit/main
Pull from adafruit main
2020-08-18 15:20:01 -05:00
Dan Halbert
dfe50d08d5 Fix a few bugs 2020-08-18 16:10:09 -04:00
Scott Shawcroft
6857f98426
Split pulseio.PWMOut into pwmio
This gives us better granularity when implementing new ports because
PWMOut is commonly implemented before PulseIn and PulseOut.

Fixes #3211
2020-08-18 13:08:33 -07:00
Scott Shawcroft
8e77981ad5
Merge pull request #3297 from simmel-project/i2c
Update Simmel board definition to reflect DVT hardware
2020-08-18 12:55:45 -07:00
Lucian Copeland
dd425ee6c5 Remove breaking parenthesis 2020-08-18 15:54:50 -04:00
Scott Shawcroft
24ca5c0218
Merge pull request #3295 from tannewt/turn_off_terminalio
Turn off terminalio for ja and ko
2020-08-18 12:10:31 -07:00
Scott Shawcroft
33c9bdb778
Merge pull request #3277 from jepler/sharpmemory-bugs
sharpdisplay: Prevent 'ValueError: <pin> in use' exception
2020-08-18 11:54:53 -07:00
Scott Shawcroft
771388cde2
Remove trailing space. 2020-08-18 11:44:31 -07:00
f2f18da189 Fix build error for !SHARPDISPLAY 2020-08-18 10:59:55 -05:00
Jeff Epler
6136ca38d1
Merge pull request #3298 from ciscorn/huffman-src
Calculate the Huffman codebook without MP_QSTRs
2020-08-18 10:58:23 -05:00
Lucian Copeland
da75445cd5 Style changes, reposition runtime errors 2020-08-18 11:42:06 -04:00
9e66f71a31 Fix build error for \!DISPLAY 2020-08-18 10:03:45 -05:00
0bec39118f displayio: Don't need to specialcase reset of sharpdisplay framebuffer
.. for the case where the bus was not in use
2020-08-18 09:32:28 -05:00
b542c1486f reset_board_buses: need to check if sharpdisplay uses SPI bus 2020-08-18 09:32:28 -05:00
Taku Fukada
79a3796b1c Calculate the Huffman codebook without MP_QSTRs 2020-08-18 23:21:14 +09:00
Jeff Epler
c08fc93d16
Merge pull request #3288 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-18 06:52:58 -05:00
bunnie
211c134950 add I2C, remove unused pins 2020-08-18 19:02:23 +08:00
bunnie
a4508f846d stash config 2020-08-18 18:16:49 +08:00
6d2d36db3d Finish implementing scott's suggestion 2020-08-17 21:09:21 -05:00
Jeff Epler
6425a411ca
Update shared-module/displayio/__init__.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2020-08-17 21:07:24 -05:00
Scott Shawcroft
d01f5dc0bd
Turn off terminalio for ja and ko
The font is missing many characters and the build needs the space.
We can optimize font storage when we get a good font.

The serial output will work as usual.
2020-08-17 17:17:59 -07:00
Alvaro Figueroa
57a7114892 Translated using Weblate (Spanish)
Currently translated at 100.0% (775 of 775 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-08-18 01:28:10 +02:00
Hosted Weblate
747711c7ca Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-08-18 01:28:10 +02:00
Taku Fukada
ec3d99950e Translated using Weblate (Japanese)
Currently translated at 57.6% (447 of 776 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-08-18 01:28:10 +02:00
Dan Halbert
94ecf33a5c
Merge pull request #3281 from dhalbert/fix-spim3-buffer-location
SPIM3 buffer must be in first 64kB of RAM
2020-08-17 19:28:03 -04:00
Scott Shawcroft
abfe718f46
Merge pull request #3286 from sommersoft/docs_build_pdf
Build PDF Docs on RTD
2020-08-17 15:19:20 -07:00
Scott Shawcroft
19706a7eec
Merge pull request #3280 from hierophect/esp32-wroom-neopixel
ESP32-S2: Add Neopixel to Wroom
2020-08-17 15:07:19 -07:00
Scott Shawcroft
377503e61c
Merge pull request #3284 from dhalbert/fix-3171-evt-handler
Remove event handler before setting it to NULL
2020-08-17 15:02:29 -07:00
Brent Rubell
b1a8fb83fa
Merge pull request #3251 from jerryneedell/jerryn_rfm9x
RFM9x -- freeze library into build
2020-08-17 17:11:35 -04:00
Dan Halbert
6e5c2b3fe2
Merge pull request #3260 from rhooper/pixelbuf-iterable
Make pixelbuf support iterables and floats
2020-08-17 11:56:31 -04:00
1ccd2e234f allocate_display_bus: fix bug where in-use bus would be returned 2020-08-17 10:48:23 -05:00
Lucian Copeland
d0d6a951da Translations 2020-08-17 10:10:49 -04:00
Dan Halbert
16ff7b167c
bdmicro_vina_m0: inline limit 60 -> 50
The ja translation was not fitting.
2020-08-17 10:05:25 -04:00
Dan Halbert
e1a843878e add robots.txt to specify doc versions to appear in search engines 2020-08-17 09:49:46 -04:00
Dan Halbert
dcbd3b4994
Merge pull request #3289 from hexthat/patch-6
Update zh_Latn_pinyin.po
2020-08-17 08:59:43 -04:00
Dan Halbert
6ebcf5b929
Merge pull request #3290 from jepler/quiet-build-messages
Quiet build messages
2020-08-17 08:57:07 -04:00
Dan Halbert
da48ab0568 add generic services 2020-08-16 23:17:08 -04:00
b1d210cca7 remove trailing whitespace 2020-08-16 21:33:36 -05:00
ead2554c78 mpy-cross: Silently clone when building for static-raspbian
Also move the construct earlier.  This prevents the message
```
make: pitools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc: Command not found
```
from occurring during the first build, since make was evaluating the line
```
mpy-cross.mk:COMPILER_TARGET := $(shell $(CC) -dumpmachine)
```
before $(CC) was created by the clone.  Nothing bad seems to have come of
this, but it's nice to fix it anyhow.  (And interesting that it was lost
among the spewed messages we're removing now)
2020-08-16 21:26:24 -05:00
880fe1a694 gen_display_resources: silence 'missing character' message
Since we made the decision to allow translations which do not have coverage in
the terminal font, these routinely occur and are expected.  The message is
unhelpful and due to their voume make it harder to find relevant information
particularly in github actions results.
2020-08-16 20:58:24 -05:00
08ed09acc6 makeqstrdata: don't print "compression incrased length" messages
This check as implemented is misleading, because it compares the
compressed size in bytes (including the length indication) with the source
string length in Unicode code points.  For English this is approximately
fair, but for Japanese this is quite unfair and produces an excess of
"increased length" messages.

This message might have existed for one of two reasons:
 * to alert to an improperly function huffman compression
 * to call attention to a need for a "string is stored uncompressed" case
We know by now that the huffman compression is functioning as designed and
effective in general.

Just to be on the safe side, I did some back-of-the-envelope estimates.
I considered these three replacements for "the true source string size, in bytes":
+    decompressed_len_utf8 = len(decompressed.encode('utf-8'))
+    decompressed_len_utf16 = len(decompressed.encode('utf-16be'))
+    decompressed_len_bitsize = ((1+len(decompressed)) * math.ceil(math.log(1+len(values), 2)) + 7) // 8

The third counts how many bits each character requires (fewer than 128
characters in the source character set = 7, fewer than 256 = 8, fewer than 512
= 9, etc, adding a string-terminating value) and is in some way representative
of the best way we would be able to store "uncompressed strings".  The Japanese
translation (largest as of writing) has just a few strings which increase by
this metric.  However, the amount of loss due to expansion in those cases is
outweighed by the cost of adding 1 bit per string to indicate whether it's
compressed or not.  For instance, in the BOARD=trinket_m0 TRANSLATION=ja build
the loss is 47 bytes over 300 strings.  Adding 1 bit to each of 300 strings will
cost about 37 bytes, leaving just 5 Thumb instructions to implement the code to
check and decode "uncompressed" strings in order to break even.
2020-08-16 20:50:48 -05:00
hexthat
d27a1aca18
Update zh_Latn_pinyin.po
fixed some “ to "
2020-08-16 18:18:36 -07:00
hexthat
ddd79a2483
Update zh_Latn_pinyin.po
add translations
2020-08-16 16:33:03 -07:00
Jeff Epler
7604114b47
Merge pull request #3287 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-16 08:25:14 -05:00
Wellington Terumi Uemura
4074915779
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (776 of 776 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-08-16 04:25:23 +02:00
Jeff Epler
da89c30498
Merge pull request #3285 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-15 21:25:14 -05:00
sommersoft
e0fd85bc45 build.yml: more texlive/latex dependencies 2020-08-15 16:24:21 -05:00
Kevin Matocha
6c199c5d69 Update documentation to remove whitespaces 2020-08-15 15:58:04 -05:00
sommersoft
6e67c4f7d4 build.yml: ensure 'latexmk' is installed 2020-08-15 14:42:12 -05:00
sommersoft
97415fc604 .readthedocs.yml: add directive for RTD to build a pdf version of the docs 2020-08-15 14:30:12 -05:00
sommersoft
670b6ebecc build.yml: add doc building test for latex/pdf 2020-08-15 14:29:38 -05:00
sommersoft
ffffccf7a0 docs/rstjinja.py: add jinja processing for building latex (pdf) docs 2020-08-15 14:29:09 -05:00
Hosted Weblate
6e3ac5adc8
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-08-15 21:12:28 +02:00
Dan Halbert
41be0fdd81
Merge pull request #3283 from jepler/fix-weblate-conflict
Fix weblate conflict
2020-08-15 15:12:21 -04:00
Dan Halbert
ef40f83f99 Remove event handler before setting it to NULL 2020-08-15 14:39:53 -04:00
ac15726e13 Merge remote-tracking branch 'weblate/main' into origin/main 2020-08-15 10:12:02 -05:00
4296aa262e locale: Fix percent-space in several translations 2020-08-15 10:04:51 -05:00
Dan Halbert
cf0f3d70b5 SPIM3 buffer must be in first 64kB of RAM 2020-08-15 10:31:56 -04:00
Dan Halbert
1c8e11b2cb bug in char get_value; raise NotImpl; better arg validation 2020-08-14 23:38:58 -04:00
Lucian Copeland
7078c63062 Add missing Neopixel pin definition 2020-08-14 16:58:24 -04:00
Lucian Copeland
0fc730bc5a Expand PulseOut API, debug cleanup 2020-08-14 16:36:02 -04:00
Lucian Copeland
88fcc19e24 Add PulseIn 2020-08-14 15:30:48 -04:00
Kevin Matocha
bfa9904f3e Corrected erroneous edit to fill description to -> None 2020-08-14 14:28:06 -05:00
Kevin Matocha
e84723abba Bug fixes related to input parameter handling x1,y1. Update comments 2020-08-14 14:22:34 -05:00
Kevin Matocha
0c1768010b Cleaning up with tannewt's help and adding the translation file 2020-08-14 13:43:32 -05:00
Kevin Matocha
fc1347ac2a deleted whitespace 2020-08-14 13:37:06 -05:00
Kevin Matocha
ba5dedc1df deleted whitespace 2020-08-14 13:37:06 -05:00
Kevin Matocha
b1fce9e933 Deleted trailing whitespace 2020-08-14 13:36:59 -05:00
Kevin Matocha
a66ef32da2 Added inclusive indexing for x2,y2, fixed default value handling for x1,y1, added bitmap palette comparison 2020-08-14 13:15:01 -05:00
Margaret Matocha
824f47d6e9 Added bitmap.blit function for bitmap slice copy 2020-08-14 12:59:57 -05:00
Margaret Matocha
4ba9ff892c Added bitmap.blit function for copying slices of bitmaps 2020-08-14 12:59:48 -05:00
Lucian Copeland
f9512983ff Add PulseOut 2020-08-14 12:21:41 -04:00
Dan Halbert
98469322b7
Merge pull request #3276 from xiongyihui/main
support to change ble mac address
2020-08-14 11:14:36 -04:00
Dan Halbert
e81fa3d181 make translate 2020-08-14 09:37:09 -04:00
Yihui Xiong
52990a332d fix 2020-08-14 17:48:15 +08:00
Kevin Matocha
14f5d03b6d bringing up to date 2020-08-13 18:59:00 -05:00
Dan Halbert
d0ffdda5bb fix reset logic to not do pin ops or heap ops at bad times 2020-08-13 17:47:35 -04:00
Scott Shawcroft
ff5902f9f8
Merge branch 'main' into pixelbuf-iterable 2020-08-13 11:55:51 -07:00
Dan Halbert
a28d0f6c80
Merge pull request #3273 from jepler/ja-firmware-size
Squeeze firmwares to fit the new ja translation
2020-08-13 12:19:28 -04:00
Dan Halbert
329f4fb2e6
Update mpconfigboard.mk
The stm boards default to `-O2`. Changing to `-Os` brings it back to ~43kB (!) free even for ja.
2020-08-13 10:09:46 -04:00
42b860e91a stm: meowbit_v121: remove _pixelbuf to fit ja translation 2020-08-13 07:49:45 -05:00
Yihui Xiong
e7da652711 able to change ble mac address 2020-08-13 16:54:29 +08:00
Dan Halbert
44c9c43cd1 ble_uart_echo_test works 2020-08-13 00:03:39 -04:00
239c8ff87f metro_m0_express: put back audiobusio
this now fits locally (though it's very close to capacity);
let's see what the CI says.

```
make BOARD=metro_m0_express clean && make BOARD=metro_m0_express  TRANSLATION=ja
...
253448 bytes used, 248 bytes free in flash firmware space out of 253696 bytes (247.75kB).
```
2020-08-12 19:11:33 -05:00
Scott Shawcroft
7ffa2a103c
Merge pull request #3269 from jepler/sharpdisplay-v2
Sharp Memory Display displayio support (v2)
2020-08-12 16:53:09 -07:00
aa0b4f7045 cpx_display: Put back AUDIOBUSIO, take away ROTARYIO
AUDIOBUSIO is needed for the on-board mic using PDMIn
2020-08-12 16:17:48 -05:00
ea8e9b8cef metro_m0_express: Put back GAMEPAD, take away AUDIOBUSIO
Dan notes that this is more frequently the solution we've chosen
2020-08-12 16:17:13 -05:00
299894025a stringcar_m0_express: make ja translation fit 2020-08-12 13:47:10 -05:00
f08ee0db20 itsybitsy_m0_express: make ja translation fit again 2020-08-12 13:44:00 -05:00
7bd42244c9 snekboard: make ja translation fit 2020-08-12 13:34:36 -05:00
45f6bc1f3e serpente: make ja translation fit 2020-08-12 13:32:08 -05:00
36bfbaae69 feather_radiofruit_zigbee: make ja translation fit 2020-08-12 13:28:30 -05:00
58a1361d3e Merge remote-tracking branch 'origin/main' into ja-firmware-size 2020-08-12 13:26:12 -05:00
195c0ea986 sharpdisplay: Make PARTIAL_UPDATES unconditional 2020-08-12 13:01:43 -05:00
06f6cd067d nrf: Improve commenting about disabled warnings 2020-08-12 12:59:48 -05:00
d61f66d173
Update shared-module/framebufferio/FramebufferDisplay.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2020-08-12 12:50:08 -05:00
813dcd1b73 trinket_m0_haxpress: make ja translation fit 2020-08-12 12:44:17 -05:00
88f222f1a1 metro_m0_express: make ja translation fit 2020-08-12 12:38:17 -05:00
ba91023fff itsybitsy_m0_express: make ja translation fit 2020-08-12 12:35:29 -05:00
6b9f7c9047 hallowing_m0_express: make ja translation fit 2020-08-12 12:29:30 -05:00
58afda342d feather_m0_supersized: make ja translation fit 2020-08-12 11:53:34 -05:00
27c2eb1869 feather_m0_express: make ja translation fit 2020-08-12 11:51:56 -05:00
8865e4ca97 circuitplayground_express_displayio: make ja translation fit 2020-08-12 11:46:52 -05:00
f3748fe20d circuitbrains_basic_m0: Use optimization flags to let ja translation fit 2020-08-12 11:46:31 -05:00
f9d1d9d114 atmel-samd: disable FRAMEBUFFERIO on samd21
.. this disables SHARPMEMORY as well.
2020-08-12 11:15:34 -05:00
454e616d13 atmel-samd: disable FRAMEBUFFERIO on samd21
.. this disables SHARPMEMORY as well.
2020-08-12 10:46:56 -05:00
Scott Shawcroft
3197c579e0
Merge pull request #3262 from tannewt/fix_fs_corruption
Fix writing sector 0 as the first write.
2020-08-12 08:14:55 -07:00
cff448205f Don't define SHARPDISPLAY when !DISPLAYIO
.. even if FULL_BUILD
2020-08-12 07:39:28 -05:00
759ded9c38 Fix build errors when SHARPDISPLAY && !RGBMATRIX 2020-08-12 07:39:12 -05:00
Dan Halbert
0e09c26b54
Merge pull request #3267 from bleeptrack/picoplanet
Picoplanet
2020-08-12 08:34:03 -04:00
65f91f69cc make translate 2020-08-12 07:32:18 -05:00
c1400bae9b sharpmemory: Implement support for Sharp Memory Displays in framebufferio 2020-08-12 07:32:18 -05:00
9c4f644641 framebufferio: add dirty row tracking 2020-08-12 07:32:18 -05:00
5e4ed93415 framebufferio: Add getters for remaining displayio_display_core_construct arguments
.. and introduce a convenience macro that helps many of them be required
(if their values match defaults or are inapplicable)
2020-08-12 07:32:18 -05:00
1ee2062c1b framebufferio: Check early if framebuffer is big enough 2020-08-12 07:32:18 -05:00
a33e48c065 framebufferio: add "first pixel offset" and "row stride" 2020-08-12 07:32:18 -05:00
8021f3b4cb framebufferio: handle sharp memory displays
A bit of cheating; we need to add a protocol getter for
reverse_bytes_in_word
2020-08-12 07:32:18 -05:00
a84cc19499 framebufferio: Handle 1 (tested), 2, and 4 bpp displays 2020-08-12 07:32:18 -05:00
6d19a09888 framebufferio: Set type to none when releasing
This avoids the message "Too many displays in use" when they are released
directly, rather than via release_displays().
2020-08-12 07:32:18 -05:00
5a7b2a2038 framebufferio: Don't call swapbuffers unnecessarily 2020-08-12 07:32:18 -05:00
ffc488e748 framebufferio: Fix crash calling unimplemented get_brightness
If set_brightness was implemented but get_brightness wasn't, this
would hard fault
2020-08-12 07:32:18 -05:00
32fc8b0676 nrf: reset_pin_number: reset pin clears never-reset, mirroring samd 2020-08-12 07:32:18 -05:00
760a171903 nrf: Make port build with -Werror=undef
.. build-tested on particle_xenon
2020-08-12 07:32:18 -05:00
bleeptrack
49407b6c06 trailing spaces fix 2020-08-12 13:42:45 +02:00
bleeptrack
e34fac6645
Whitespace and Newline fix 2020-08-11 23:59:32 +02:00
Dan Halbert
06f3b4048a fix #3228 for nrf; still needs to be fixed for HCI; tested 2020-08-11 16:21:16 -04:00
bleeptrack
228d9b5a12
Fixing indentation 2020-08-11 22:18:15 +02:00
bleeptrack
22ae1dbac8
Removing unnecessary pin ignored 2020-08-11 22:17:17 +02:00
bleeptrack
795ee3d36a
update build.yml with picoplanet 2020-08-11 21:51:11 +02:00
bleeptrack
00676ff5a9
PicoPlanet 2020-08-11 21:49:52 +02:00
Scott Shawcroft
8488b31aa0
Init directly 2020-08-11 11:19:40 -07:00
Scott Shawcroft
bbac68e77c
Merge pull request #3232 from hierophect/esp32-neopixel
ESP32-S2: Add Neopixel support
2020-08-11 11:04:39 -07:00
Dan Halbert
92cf56004f blue_uart_echo_test from Bluefruit app is working 2020-08-10 22:33:20 -04:00
Scott Shawcroft
87c78be8f4
Fix writing sector 0 as the first write.
This was the FS issue I saw when debugging wifi and only happens
when the first write is to sector 0. It causes issues because it
blanks all of sector 0 after the first block.

Fixes #3133
2020-08-10 17:14:49 -07:00
Dan Halbert
74034d6b9d characteristic/cccd r/w; not tested 2020-08-10 19:46:18 -04:00
Roy Hooper
1b7709f325 use the stack 2020-08-10 18:42:05 -04:00
Lucian Copeland
4613b58a31 Add skip for rgb matrix exception handling 2020-08-10 18:00:50 -04:00
Scott Shawcroft
bccfb8b4cd
Merge pull request #3243 from dunkmann00/support-utf8-repl-take-one
Better support for utf-8 repl
2020-08-10 14:16:05 -07:00
Scott Shawcroft
4fd474dd08
Merge pull request #3256 from sommersoft/spt_mtrx_anchors
Add Internal Links To Boards In The Support Matrix
2020-08-10 14:14:57 -07:00
Jeff Epler
807f049dc3
Merge pull request #3244 from xiongyihui/main
add an option to turn off QSPI when sleep
2020-08-10 16:06:57 -05:00
_fonzlate
1607100fc2
Translated using Weblate (Dutch)
Currently translated at 100.0% (773 of 773 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-08-10 21:59:45 +02:00
hierophect
78f90db72f
Merge pull request #3191 from jepler/stm32-sdioio
stm32: Implement sdioio, enable for feather stm32f405 express
2020-08-10 15:59:36 -04:00
1cf3762392 Merge remote-tracking branch 'origin/main' into stm32-sdioio 2020-08-10 12:54:12 -05:00
Lucian Copeland
d47bd5529c Fix neopixel macro issue, set default neopixel color 2020-08-10 13:16:20 -04:00
Taku Fukada
fbcbc93b6e Translated using Weblate (Japanese)
Currently translated at 57.6% (446 of 773 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ja/
2020-08-10 18:59:49 +02:00
8a9a44731b Added translation using Weblate (Japanese) 2020-08-10 18:59:49 +02:00
Jeff Epler
ce911c5f50
Merge pull request #3255 from ciscorn/fix-rtd
Fix Read the Docs bulid failing
2020-08-10 11:59:39 -05:00
Roy Hooper
ef1782f85e fix trailing whitespace 2020-08-10 12:04:44 -04:00
George Waters
398be76bf6
Count utf8 chars, not every byte for line 2020-08-09 14:07:13 -04:00
George Waters
93829e57b2
Try too make new utf-8 code smaller again 2020-08-09 13:14:02 -04:00
George Waters
41ccbbd4e9
Fix failed unix build 2020-08-09 13:14:02 -04:00
George Waters
71ce480dbb
Refactor utf-8 code, reduce impact on code size 2020-08-09 13:14:02 -04:00
George Waters
1d410bb68b
Fix repl support for unicode
Currently when a utf8 character that is bigger than 1 byte is typed in
the repl, it isn't handled how it should be. If you try to move the
cursor in any direction the text gets messed up. This fixes that.
2020-08-09 13:14:01 -04:00
Jeff Epler
fee3c0afbd
Merge pull request #3257 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-09 10:47:20 -05:00
Jerry Needell
5f60bec85b update frozen Adafruit_CircutPython_RFM9x library 2020-08-09 11:07:41 -04:00
Wellington Terumi Uemura
71698c5d46
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (773 of 773 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-08-09 13:32:50 +02:00
Roy Hooper
00a3a25b94 revert error to avoid translation changes 2020-08-08 18:40:45 -04:00
sommersoft
ce9bc1258a support_matrix.rst: pre-process space chars in internal link names; would cause a no-id situation when names like 'ndGarage[n°] Bit6: FeatherSnow-v2' were parsed. 2020-08-08 11:37:49 -05:00
Dan Halbert
0f4b969d62 discovery of Nordic UART service working 2020-08-08 00:29:37 -04:00
sommersoft
c374368053 support_matrix.rst: add internal links to boards in the table 2020-08-07 22:52:34 -05:00
Taku Fukada
ad04b8cfd3 Revert the ulab update 2020-08-08 11:33:12 +09:00
Roy Hooper
e73dba21d2 make pixelbuf handle floats and iterables 2020-08-07 18:42:06 -04:00
Margaret Matocha
b6008d0032 Adding bitmap.insert to copy a slice of a source bitmap into another bitmap 2020-08-07 15:59:42 -05:00
Margaret Matocha
64c9baa6aa Added bitmap.insert function for slice copy into a bitmap from another bitmap 2020-08-07 15:46:00 -05:00
Jeff Epler
707eed0a73
Merge pull request #3254 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-07 14:29:42 -05:00
Jerry Needell
1d980d527e Merge remote-tracking branch 'upstream/main' into jerryn_rfm9x 2020-08-07 12:48:41 -04:00
Taku Fukada
272d300fc8 Fix Read the Docs bulid failing 2020-08-08 01:33:24 +09:00
Hosted Weblate
5eef3c47eb Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-08-07 17:11:47 +02:00
Alvaro Figueroa
49969e08c3 Translated using Weblate (Spanish)
Currently translated at 100.0% (786 of 786 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-08-07 17:11:47 +02:00
Jeff Epler
354edd9431
Merge pull request #3252 from ciscorn/pyi
Some improvements to the core module docs
2020-08-07 10:11:40 -05:00
Jeff Epler
8f6950eb3c
Merge pull request #3246 from sommersoft/doc_title_tag
RTD: Set Version/Release For Sphinx
2020-08-07 10:08:17 -05:00
Jeff Epler
d8cc4795be
Merge pull request #3236 from jepler/firmware-size-gemma-trinket
Firmware size savings
2020-08-07 10:06:39 -05:00
Yihui Xiong
af1291ec28 dynamically enable or disable QSPI by default 2020-08-07 16:23:42 +08:00
Taku Fukada
56c898da80 Modify some Python stubs 2020-08-07 01:01:28 +09:00
Taku Fukada
887eb3b6d9 Apply a Sphinx transform to make the core module docs look better 2020-08-07 00:01:31 +09:00
Jerry Needell
f7961b96a9 update comment 2020-08-06 10:05:18 -04:00
Jerry Needell
c42ffb8f3d remove usb_hid 2020-08-06 05:44:26 -04:00
Yihui Xiong
d8257380d7 add qspi_disable() 2020-08-06 09:56:05 +08:00
Jeff Epler
16170d44ab
Merge pull request #3248 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-05 20:53:54 -05:00
Jonny Bergdahl
c69dd3c32b
Translated using Weblate (Swedish)
Currently translated at 100.0% (786 of 786 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-08-05 22:32:49 +02:00
Lucian Copeland
78d049d0f1 Fix pwm reset spew, protect against null reference in led status 2020-08-05 14:05:53 -04:00
root
333a10deda getting ulab in sync 2020-08-05 10:59:33 -05:00
Jerry Needell
432f43a472 freeze rfm9x and BusDevice, remove many built-in modules 2020-08-05 11:37:57 -04:00
root
a778163d0f Trying to get protomnatter submodule in sync 2020-08-05 10:23:31 -05:00
root
c7b6e66426 Fixes for pulsein tick handling 2020-08-05 10:03:20 -05:00
Yihui Xiong
7854625c4e avoid using the RGB LEDs to save energy 2020-08-05 16:08:13 +08:00
Yihui Xiong
dbe47a6a2a adjust 2020-08-05 16:07:18 +08:00
sommersoft
3a95480178 conf.py: also include 'rc' versions for sphinx versioning 2020-08-04 21:05:03 -05:00
sommersoft
d8d36a4fb0 conf.py: set the version for sphinx, based on the current git tag 2020-08-04 20:55:20 -05:00
93b373d617 "pop from empty %q"
Saves 12 bytes code on trinket m0
2020-08-04 18:42:09 -05:00
Lucian Copeland
14b3b51c58 Rework build flags, prevent idf errors 2020-08-04 18:40:24 -04:00
Dan Halbert
ac95106b88 service discovery works; need to work on char and descriptor discovery 2020-08-04 18:24:37 -04:00
6669cedf5b make translate 2020-08-04 14:45:45 -05:00
65e26f4a06 py: mp_obj_get_type_qstr as macro saves 24 bytes 2020-08-04 14:45:45 -05:00
c0b32976e8 libm: rem_pio2: Reduce size of static array
This array was of 32-bit values, but the entries were only ever
in the 0-255 range.  Convert to uint8_t.

Testing performed: The result of the sum-of-sin was unchanged
>>> import math; sum(math.sin(2.**i) for i in range(21))
1.42069
2020-08-04 14:45:45 -05:00
d3fb6c96da libm: ef_rem_pio2.c: Save ROM-tables at the expense of speed
This function computes the remainder of a value `x` modulo pi/2, to high
precision.

It does this by dividing the flotaing point values into several ranges
by magnitude, and applies successively slower but more accurate algorithms.

The last two steps, one covering values up to around 2^7 * pi/2
(called "medium size") and a final one covering all possible float values,
require big tables.

By eliminating the "medium size" case, a table and some code are removed
from the binary.  This makes some cases take longer, but saves hundreds
of bytes.  It does _NOT_ affect the result, only the speed.

```
[desktop python]
>>> sum(math.sin(2.**i) for i in range(21))
1.4206898748939305

[trinket m0, before change to ef_rem_pio2.c]
>>> sum(math.sin(2.**i) for i in range(21))
1.42069

[trinket m0, after change to ef_rem_pio2.c]
>>> sum(math.sin(2.**i) for i in range(21))
1.42069
```
2020-08-04 14:45:45 -05:00
710c2dc54b safe_mode: Exclude NORDIC_SOFT_DEVICE_ASSERT str if possible 2020-08-04 14:45:45 -05:00
d92a77fdd3 main: Allow these arrays to reside in ROM
The missing second "const" made these mutable arrays pointing to
const string data.
2020-08-04 14:45:45 -05:00
a85b6441fc main: Drop "double extension" detection if not FULL_BUILD
This saves nearly 200 bytes.  Curiously, it also saves RAM.
2020-08-04 14:45:45 -05:00
024c8da578 Combine some "can't convert" messages 2020-08-04 14:45:45 -05:00
d0427cf60c Combine some "safe mode" messages 2020-08-04 14:45:45 -05:00
c849b781c0 Combine 'index out of range' messages 2020-08-04 14:45:45 -05:00
89797fd3f9 various: Use mp_obj_get_type_qstr more widely
This removes runtime allocations of the cstring version of the qstring.

It is not a size improvement
2020-08-04 14:45:45 -05:00
c37a25f0e5 Use qstrs to save an additional 4 bytes 2020-08-04 14:45:45 -05:00
92917b84f1 fix exception type for pop from empty set 2020-08-04 13:58:29 -05:00
67eb93fc98 py: introduce, use mp_raise_msg_vlist
This saves a very small amount of flash, 8 bytes on trinket_m0
2020-08-04 13:34:29 -05:00
dddd25a776 Combine similar strings to reduce size of translations
This is a slight trade-off with code size, in places where a "_varg"
mp_raise variant is now used.  The net savings on trinket_m0 is
just 32 bytes.

It also means that the translation will include the original English
text, and cannot be translated.  These are usually names of Python
types such as int, set, or dict or special values such as "inf" or
"Nan".
2020-08-04 13:34:29 -05:00
Yihui Xiong
6dc0f4f1b6 add an option to turn off QSPI when sleep 2020-08-05 01:10:58 +08:00
Taku Fukada
9582cc5bd5 Add make check-stubs for validating Python stubs 2020-08-04 20:41:34 +09:00
sommersoft
19af89cbee .gitignore: only ignore autoapi generated .rst files in shared-bindings; ignore common python venv's 2020-08-03 23:01:51 -05:00
0e2d231445 Merge remote-tracking branch 'origin/main' into stm32-sdioio 2020-08-03 21:01:53 -05:00
Dan Halbert
a995a5c58f wip: partial discovery responses; compiles; not tested 2020-08-03 21:02:57 -04:00
Scott Shawcroft
c394af4128
Merge pull request #3241 from jepler/translation-percent-space-fixes
locale: Fix percent-space in several translations
2020-08-03 13:29:41 -07:00
Scott Shawcroft
93d76778c9
Merge pull request #3239 from jepler/mpy-cross-dependency-analysis
mpy-cross: fix dependency analysis
2020-08-03 13:14:26 -07:00
DavePutz
d7eedc5e38
Merge pull request #20 from adafruit/main
Update from main
2020-08-03 13:14:01 -05:00
DavePutz
1f759537c9
Merge pull request #19 from adafruit/main
Update from main
2020-08-03 13:10:55 -05:00
root
9203a77804 Turn off interrupts while in handler 2020-08-03 11:31:12 -05:00
Lucian Copeland
4900668778 Merge remote-tracking branch 'upstream/main' into esp32-neopixel 2020-08-03 12:26:37 -04:00
04734ca7ae locale: Fix percent-space in several translations 2020-08-03 07:13:32 -05:00
Jeff Epler
034b1bb903
Merge pull request #3240 from jerryneedell/jerryn_frozen
update frozen libraries
2020-08-03 07:10:11 -05:00
Jerry Needell
9b3af2b7e3 update frozen submodules 2020-08-03 06:25:29 -04:00
e666e86035 mpy-cross: fix dependency analysis
Closes: #3074
2020-08-02 20:42:10 -05:00
sabas1080
0e30fe1cc5 Update VID & PID codes 2020-08-02 19:54:11 -05:00
Jeff Epler
16b7d99041
Merge pull request #3229 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-08-02 16:41:43 -05:00
_fonzlate
accc454644
Translated using Weblate (Dutch)
Currently translated at 100.0% (786 of 786 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-08-02 22:41:59 +02:00
Dan Halbert
0a60aee3e4 wip: compiles 2020-08-02 11:36:38 -04:00
sabas1080
b074f8a161 update for build test 2020-08-02 00:42:36 -05:00
root
45dee6e77b Merge branch 'issue3216' of https://github.com/DavePutz/circuitpython into issue3216
Conflicts:
	lib/protomatter
2020-08-01 19:10:52 -05:00
sabas1080
fea1cad02c add support for Bast Wifi Electronic Cats 2020-08-01 17:51:45 -05:00
64df244cf5 restore protomatter submodule ref 2020-08-01 17:10:05 -05:00
root
32bcf88e18 Fixinf up submodules 2020-08-01 17:08:48 -05:00
root
0ef68d6aea Improved performance for background task tick counter. 2020-08-01 16:35:42 -05:00
root
a3d8567d2c Adding error message for PulseIn 2020-08-01 13:45:31 -05:00
root
12b81618a3 Changes for getting supervisor ticks 2020-08-01 13:27:02 -05:00
Wellington Terumi Uemura
9477f222be Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (786 of 786 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-08-01 20:04:08 +02:00
Jeff Epler
e7a78e0847
Merge pull request #3230 from jepler/firmware-size-gemma-trinket
Reduce firmware size on gemma m0, trinket m0
change esp-idf cache tag
2020-08-01 13:04:01 -05:00
DavePutz
a44c09e286
Merge pull request #17 from adafruit/main
update from main
2020-08-01 12:22:12 -05:00
Dan Halbert
4860e0cf62 change esp-idf cache tag 2020-08-01 13:21:20 -04:00
Dan Halbert
1771858f4a add RELEASE_NEEDS_CLEAN_BUILD for lang-specific CFLAGS_INLINE_LIMIT changes 2020-08-01 13:20:46 -04:00
Dan Halbert
4b71831d8b
SUPEROPT_VM = 0 for de_DE 2020-08-01 12:36:20 -04:00
Lucian Copeland
94b2561860 Fix include error 2020-08-01 09:22:18 -04:00
Lucian Copeland
1c1df053d5 Add neopixel support 2020-07-31 15:34:12 -04:00
Dan Halbert
a76ad3415c wip: implementing functionality 2020-07-30 22:07:55 -04:00
27c6ffb9a2 atmel-samd: gemma, trinket: Make space for de_DE translation 2020-07-30 11:29:47 -05:00
Hosted Weblate
b49f7d1da5
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-30 14:26:05 +02:00
Jeff Epler
2b1fc15707
Merge pull request #3217 from dhalbert/blm_badge
add blm_badge; add CIRCUITPY_AUDIOBUSIOIO_I2SOUT
2020-07-30 07:25:58 -05:00
d69f081c04 Merge remote-tracking branch 'origin/main' into blm_badge 2020-07-30 07:24:48 -05:00
Jeff Epler
531c1e046c
Merge pull request #3226 from joeycastillo/main
Small updates to Open Book board
2020-07-30 07:21:50 -05:00
59ebad6acb make translate 2020-07-30 07:19:19 -05:00
f175a49444 stm: sdioio: include header for common_hal_mcu_pin_claim 2020-07-30 07:18:12 -05:00
b57e6e9856 stm: sdioio: call common_hal_mcu_pin_claim 2020-07-30 07:18:12 -05:00
d73505a027 stm: fix if-guard of conditional code 2020-07-30 07:18:12 -05:00
60dd5a8d7d stm: sdioio: remove unused code related to "SD Card detect pin"
.. this probably came from the examples that I studied at the beginning
of implementation.

The card detection feature is unused.  As a "detect pin" is not
sent from the shared-bindings, there is no way to get the correct pin
anyway.  Instead, if code needs to detect the insertion state it can
directly use the pin as GPIO in Python code.
2020-07-30 07:18:02 -05:00
ccd3013396 stm: stioio: correctly claim pins 2020-07-30 07:18:02 -05:00
3cf1258c87 stm: sdioio: Get rid of debug code and useless comments 2020-07-30 07:18:02 -05:00
6a99a7b551 stm: Use 'Invalid %q pin selection' more places 2020-07-30 07:18:02 -05:00
92d2f47503 feather_stm32f405_express: sdio_data_tuple should be static 2020-07-30 07:18:02 -05:00
4adbd23b75 stm: Add sdioio support for feather_stm32f405_express
Currently, only the bus specs of the stm32f405xx have been coded.
Other stm-family chips need (at a minimum) the specs added in their
periph.[ch] files.
2020-07-30 07:18:02 -05:00
d30f11163c stm: enable SD module in HAL 2020-07-30 07:18:02 -05:00
af135a7560 atmel-samd: move samd-specific script 2020-07-30 07:18:02 -05:00
Jeff Epler
d4801b8c54
Merge pull request #3225 from hathach/improve-highspeed-usb
Improve highspeed usb
2020-07-30 07:15:20 -05:00
Jeff Epler
510985ffbc
Merge pull request #3227 from cwalther/32bitmap
Cannot assign values to 32-bit Bitmap
2020-07-30 07:13:37 -05:00
Jeff Epler
31b8ecdcbd
Merge pull request #3198 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-30 07:13:23 -05:00
40eab95d3d
Added translation using Weblate (Hindi) 2020-07-30 04:27:32 +02:00
Christian Walther
8498e7f2cd Fix inability to set values in 32-bit Bitmap. 2020-07-30 00:35:25 +02:00
Hosted Weblate
1b5f171081 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-29 20:28:33 +02:00
Wellington Terumi Uemura
887f6f3f23 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (782 of 782 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-29 20:28:33 +02:00
Hosted Weblate
7c387c6d2b Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-29 20:28:33 +02:00
_fonzlate
31bea079cf Translated using Weblate (Dutch)
Currently translated at 100.0% (784 of 784 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-07-29 20:28:33 +02:00
Wellington Terumi Uemura
5c4fab744e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (784 of 784 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-29 20:28:33 +02:00
Nathan
1c6bff6755 Translated using Weblate (French)
Currently translated at 98.5% (773 of 784 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-07-29 20:28:33 +02:00
Jonny Bergdahl
7316644bb4 Translated using Weblate (Swedish)
Currently translated at 100.0% (784 of 784 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-07-29 20:28:33 +02:00
Alvaro Figueroa
3563c3725c Translated using Weblate (Spanish)
Currently translated at 100.0% (784 of 784 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-07-29 20:28:33 +02:00
Hosted Weblate
6dc01e179a Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-29 20:28:33 +02:00
Wellington Terumi Uemura
06f820c0d6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (783 of 783 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-29 20:28:33 +02:00
Hosted Weblate
1ea227716d Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-29 20:28:33 +02:00
dherrada
9f8823e455 Translated using Weblate (Spanish)
Currently translated at 99.8% (782 of 783 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-07-29 20:28:33 +02:00
Dan Halbert
c754e01711
Merge pull request #3220 from dhalbert/upload-mpy-cross-to-s3
Upload mpy-cross builds to S3
2020-07-29 14:28:26 -04:00
Scott Shawcroft
61d1148bb3
Merge pull request #3222 from WarriorOfWire/pick_micropython
py/compile: Don't await __aiter__ special method in async-for.
2020-07-29 10:54:37 -07:00
Joey Castillo
8acec2ca35 add descriptive pin names 2020-07-29 13:49:08 -04:00
Scott Shawcroft
5e86262694
Merge pull request #3187 from jepler/ulab-restructure-document
Upgrade ulab
2020-07-29 10:48:27 -07:00
Scott Shawcroft
b76d37f24a
Merge pull request #3223 from dhalbert/unmount-before-reset
storage.erase_filesystem(): disconnect from USB and wait 1 second before resetting
2020-07-29 10:47:24 -07:00
Scott Shawcroft
05a1519e5d
Merge pull request #3214 from kmatch98/bitmap_write
Updated Group.c to correct bug with insert into displayio.Group
2020-07-29 10:46:33 -07:00
Joey Castillo
ea9bc9b4b6 set screen orientation to portrait 2020-07-29 13:46:10 -04:00
Dan Halbert
4d54cbc6a7 Remove extra and incorrect upload line 2020-07-29 12:30:48 -04:00
Jeff Epler
5cb7e64cc8
Merge pull request #3221 from WarriorOfWire/vectorio_topleft
use top-left heuristic for vectorio.Polygon
2020-07-29 11:19:02 -05:00
hathach
b2ec77e554 Merge remote-tracking branch 'adafruit/main' into improve-highspeed-usb 2020-07-29 23:14:52 +07:00
Jeff Epler
fbc78972eb
Merge pull request #3203 from WarriorOfWire/speed_up_builds
Use 2 cores per build task in github CI build
2020-07-29 11:09:09 -05:00
Jeff Epler
f01c7745a5
Merge pull request #3212 from tannewt/fix_doc_build
Add isort to doc deps
2020-07-29 10:58:32 -05:00
Dan Halbert
b93ee1e6f8 remove temp upload check; can't be tested from fork 2020-07-29 10:35:58 -04:00
Dan Halbert
2b6b0e949d temporary change to test uploads 2020-07-29 10:23:45 -04:00
hathach
93cc505144
update tinyusb to commit 22100b252
fix warnings on esp32s2 and stm32
2020-07-29 19:18:46 +07:00
hathach
9f3bddbcb2
update tinyusb from commmit dc5445e2f to 78f1576e9 2020-07-29 16:23:21 +07:00
hathach
b6724e843c
update CDC/MIDI bufsize to at least 512 for highspeed port 2020-07-29 16:22:27 +07:00
hathach
1f4fcb399b
move CFG_TUSB_RHPORT0_MODE into generated header 2020-07-29 16:05:31 +07:00
hathach
d8fef207d2 remove obsolete CFG in tusb_config.h 2020-07-29 15:45:01 +07:00
hathach
6063828279 replace USB_MSC_MAX_PACKET_SIZE with USB_HIGHSPEED in descriptor gen tool 2020-07-29 15:38:55 +07:00
Kenny
4c2d0c3dc5 use top-left heuristic for vectorio.Polygon
this flips the bottom-right style to top-left which is at least
kind of normal.  A 2x2 square at (0,0) would be defined like
(0,0), (3,0), (3,3), (0,3)
Which seems kind of surprising but at least less bonkers than
that square being defined at (1,1), which is the current behavior.
2020-07-28 23:10:59 -07:00
Dan Halbert
715ea13273 Upload mpy-cross builds to S3 2020-07-28 19:42:50 -04:00
Dan Halbert
e6bd99a5ee wip 2020-07-28 18:18:41 -04:00
9b8df7f635 Upgrade ulab
This version
 * moves source files to reflect module structure
 * adds inline documentation suitable for extract_pyi
 * incompatibly moves spectrogram to fft
 * incompatibly removes "extras"

There are some remaining markup errors in the specific revision of
extmod/ulab but they do not prevent the doc building process from
completing.
2020-07-28 16:57:48 -05:00
Dan Halbert
65c22aa434 storage.erase_filesystem(): unmount and wait 1 second before resetting 2020-07-28 17:52:56 -04:00
Scott Shawcroft
6afbefc739
Merge pull request #3219 from adafruit/encoding
fix windows' encoding defaults
2020-07-28 14:00:44 -07:00
Margaret Matocha
0887bc2112 Updated to remove else statment, attempt to remove excess mpy-cross... file 2020-07-28 15:03:51 -05:00
Margaret Matocha
076c5f946f Updated to remove unnecessary else statement 2020-07-28 14:53:50 -05:00
Margaret Matocha
fd7801415a Deleted mpy-cross file 2020-07-28 14:53:09 -05:00
Dan Halbert
ca9eae8eea
Merge pull request #3209 from pewpew-game/fluff-m0-pins
fluff_m0: add pin aliases
2020-07-28 15:15:15 -04:00
Dan Halbert
824a57c6f4
Merge pull request #3218 from tannewt/use_gcc10_peripherals
Use samd peripherals fixed for gcc 10
2020-07-28 15:14:20 -04:00
Scott Shawcroft
b30d89131b
Merge pull request #3215 from ansonhe97/main
Added display QSTR to Wio Terminal
2020-07-28 11:53:17 -07:00
Scott Shawcroft
efee11dffe
Add black too 2020-07-28 11:42:58 -07:00
Dan Halbert
0619966c19 wip 2020-07-28 14:28:09 -04:00
Dan Halbert
57464998c0 add to build.yml 2020-07-28 14:23:01 -04:00
lady ada
5b675cc83f fix windows' encoding defaults 2020-07-28 14:19:43 -04:00
Dan Halbert
649e6d59ce Merge from upstream and make translate 2020-07-28 14:15:33 -04:00
Dan Halbert
aa97ea2501 Merge remote-tracking branch 'adafruit/main' into blm_badge 2020-07-28 14:15:02 -04:00
Scott Shawcroft
92216d6417
Use samd peripherals fixed for gcc 10 2020-07-28 11:14:25 -07:00
Dan Halbert
9572f306d3 ATT WIP 2020-07-28 11:56:00 -04:00
Dan Halbert
e5e132a364 add blm_badge; add CIRCUITPY_AUDIOBUSIOIO_I2SOUT 2020-07-28 11:49:54 -04:00
Dan Halbert
9fc7118861
Merge pull request #3213 from jerryneedell/jerryn_pystack
adjust stack for SAMD21 to accommodate larger pystack
2020-07-28 11:40:56 -04:00
ansonhe97
e15bcebb6e Added display QSTR to Wio Terminal 2020-07-28 17:31:17 +08:00
Anson He
c010cc2c41
Merge pull request #1 from adafruit/main
Merged main to fork
2020-07-28 17:03:10 +08:00
sabas1080
d37326326d init bastwifi 2020-07-28 00:56:37 -05:00
Margaret Matocha
db26e894fb Updated Group.c to correct bug with insert into groups 2020-07-27 22:25:21 -05:00
Jerry Needell
945736e9bb add adjustments for crickit and displayio variants of CPX 2020-07-27 22:13:04 -04:00
Jerry Needell
2bdd62220e adjust stack for SAMD21 to accomodate larger pystack -- update frozen module adafruit_busdevice 2020-07-27 21:50:36 -04:00
Scott Shawcroft
01cd1c5b34
add isort to doc deps
Fixes #3200
2020-07-27 18:42:53 -07:00
Scott Shawcroft
debbf1028a
Merge pull request #3196 from IkigaiSense/ikigaisense_vita
add-ikigaisense_vita-nRF52840
2020-07-27 16:10:57 -07:00
Scott Shawcroft
7f804fdc5d
Merge pull request #3202 from WarriorOfWire/require_await_in_async
Require await in async
2020-07-27 16:02:25 -07:00
Scott Shawcroft
f4f2018952
Merge pull request #3101 from ndGarage/ndgarage_ndbit6_v2
ndgGarage ndbit6 v2
2020-07-27 15:51:23 -07:00
Scott Shawcroft
7be9837f73
Merge pull request #3193 from ciscorn/type-annotations
More type hints
2020-07-27 14:26:54 -07:00
Taku Fukada
d356581651 Fix several type hints 2020-07-27 18:05:13 +09:00
Radomir Dopieralski
b2c4b0bcfa fluff_m0: don't exclude portb pins explicitly 2020-07-26 17:26:32 +02:00
Radomir Dopieralski
b1b253c012 fluff_m0: add pin aliases
Add aliases for SDI, SDO and EN, so that pin names match the text on the
PCB to avoid confusion.

Also disable all pins from port B, because that package of SAMD21
doesn't have port B.
2020-07-26 13:39:42 +02:00
Dan Halbert
7ab5c520e6
Merge pull request #3190 from DavePutz/opt-test
Changes to allow different compiler optimizations per board
2020-07-25 17:03:10 -04:00
Dan Halbert
b7e6bf959e
Merge pull request #3205 from burtyb/commander-2
Add GamePad to Commander board
2020-07-25 16:57:58 -04:00
Chris Burton
c4a5297ee2 Add GamePad to Commander 2020-07-25 17:53:27 +00:00
Kenny
ebc1373c08 use -j2 in the actual build also 2020-07-25 10:23:42 -07:00
ikigaisense
6696915801 fix-ndbit6-for-ndbit6_v2 2020-07-25 10:07:33 -06:00
Jonathan Hogg
901f3dce6e py/compile: Don't await __aiter__ special method in async-for.
MicroPython's original implementation of __aiter__ was correct for an
earlier (provisional) version of PEP492 (CPython 3.5), where __aiter__ was
an async-def function.  But that changed in the final version of PEP492 (in
CPython 3.5.2) where the function was changed to a normal one.  See
https://www.python.org/dev/peps/pep-0492/#why-aiter-does-not-return-an-awaitable
See also the note at the end of this subsection in the docs:
https://docs.python.org/3.5/reference/datamodel.html#asynchronous-iterators
And for completeness the BPO: https://bugs.python.org/issue27243

To be consistent with the Python spec as it stands today (and now that
PEP492 is final) this commit changes MicroPython's behaviour to match
CPython:  __aiter__ should return an async-iterable object, but is not
itself awaitable.

The relevant tests are updated to match.

See #6267.
2020-07-24 22:55:37 -07:00
Kenny
11d225fe62 Use 2 cores per job in github build
As of today, https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
states that hosted runners have a 2-core CPU.

This uses make -j $physical_cores to try and be better about utilizing the time spent on those machines.
When github upgrades runners to have more cores we'll benefit from that too.
2020-07-24 22:08:56 -07:00
root
c4817968ee Merge branch 'opt-test' of https://github.com/DavePutz/circuitpython into opt-test 2020-07-24 23:28:41 -05:00
root
d9503e579b latest frozen/circuitpython-stage 2020-07-24 23:27:22 -05:00
DavePutz
eac639a72c
Merge pull request #16 from adafruit/main
update from main
2020-07-24 23:00:50 -05:00
Kenny
a6b5870514 translations 2020-07-24 19:58:20 -07:00
Kenny
9a1f1236cc require async for and async with to actually be in an async def method instead of just a generator 2020-07-24 19:47:34 -07:00
DavePutz
3dfed3c4aa
Merge pull request #15 from adafruit/main
update from main
2020-07-24 20:29:53 -05:00
root
739981b34e update for pewpew 2020-07-24 17:27:25 -05:00
Scott Shawcroft
a6e048686f
Merge pull request #3178 from WarriorOfWire/async_def_coroutine_sim
add coroutine behavior for generators
2020-07-24 12:37:09 -07:00
DavePutz
a14101cd13
Use current mpconfigboard.mk with optimization change 2020-07-24 14:09:09 -05:00
hierophect
a5725941a0
Merge pull request #3199 from hierophect/litex-build-hotfix
Litex: fix microcontroller common-hal interface
2020-07-24 13:34:28 -04:00
Lucian Copeland
356b1a8d6d Finish common-hal pin API 2020-07-24 12:29:18 -04:00
hierophect
c735dceed5
Merge pull request #3099 from hierophect/stm32-timer-allocator
STM32: Add timer allocator, PulseIO adjustments
2020-07-24 11:16:39 -04:00
root
b9cdf195e2 board mk file changes 2020-07-24 10:00:42 -05:00
root
204cdada7c remove unnecessary mk files parameters 2020-07-24 09:53:40 -05:00
Taku Fukada
54a342a7f5 Add and correct some type hints 2020-07-24 18:20:03 +09:00
Kenny
e9b4e0bd35 remove new char*s because m0 is way oversubscribed 2020-07-23 20:41:10 -07:00
Kenny
652767fb1c translations 2020-07-23 20:41:10 -07:00
Kenny
764d49e641 also disable async_coroutine test in native emitter 2020-07-23 20:40:16 -07:00
Kenny
51a79b1af7 add coroutine behavior for generators
coroutines don't have __next__; they also call themselves coroutines.
This does not change the fact that `async def` methods are generators,
but it does make them behave more like CPython.
2020-07-23 20:40:16 -07:00
root
ce37a442e8 format fix 2020-07-23 19:35:04 -05:00
root
c937fa1760 fix formatting 2020-07-23 19:29:57 -05:00
root
778e8bfda9 Changes to optimization option 2020-07-23 19:27:02 -05:00
Dan Halbert
f6f45c82a1 wip: ATT protocol 2020-07-23 18:54:26 -04:00
ikigaisense
703fb9d4a1 update-ndGarage_ndbit6_v2 2020-07-23 16:08:30 -06:00
Scott Shawcroft
543708416b
Merge pull request #3195 from tannewt/remove_i2c_stop
Remove stop kwarg from I2C writeto.
2020-07-23 14:39:51 -07:00
Scott Shawcroft
060ab8a1f0
Merge pull request #3194 from tannewt/gcc10
Prep for GCC10
2020-07-23 14:39:21 -07:00
ikigaisense
1ee8a09da2 add-ikigaisense_vita-nRF52840 2020-07-23 14:39:59 -06:00
Scott Shawcroft
6a46fd5b91
Merge pull request #3185 from hierophect/esp32-pulseio
ESP32-S2: PWMOut
2020-07-23 13:11:33 -07:00
Scott Shawcroft
4b6e02949d
Remove stop kwarg from I2C writeto.
Fixes #2082
2020-07-23 11:06:14 -07:00
Lucian Copeland
cf0a4d208e Fix unintended timer reset, style changes 2020-07-23 14:01:10 -04:00
Jeff Epler
bca89c260f
Merge pull request #3189 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-23 11:57:42 -05:00
Wellington Terumi Uemura
226efb37bc
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (783 of 783 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-23 04:57:32 +02:00
Damien George
f43834aba2
py/py.mk: Use additional CFLAGS to compile string0.c.
Otherwise functions like memset might get optimised to call themselves (eg
with gcc 10).  And provide CFLAGS_BUILTIN so these options can be changed
by a port if needed.

Fixes issue #6053.
2020-07-22 16:26:47 -07:00
Scott Shawcroft
2bd6d05663
Add externs. GCC10 complains about duplicate defines 2020-07-22 16:26:46 -07:00
Hosted Weblate
441d9d2286
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-23 01:21:48 +02:00
Alvaro Figueroa
b42dc3b884 Translated using Weblate (Spanish)
Currently translated at 100.0% (780 of 780 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-07-23 01:21:47 +02:00
Dan Halbert
d22283c9c4
Merge pull request #3163 from tannewt/memmonitor
Add `memorymonitor` for memory allocation debugging
2020-07-22 19:21:41 -04:00
Scott Shawcroft
049921fec8
Merge branch 'main' into memmonitor 2020-07-22 14:00:28 -07:00
Scott Shawcroft
02b71e013a
Merge pull request #3107 from dherrada/type_hints
Adding type hints
2020-07-22 13:48:45 -07:00
Lucian Copeland
61a2e4f94b Add PWMOut 2020-07-22 16:34:18 -04:00
Scott Shawcroft
1ec3580946
Merge branch 'main' into memmonitor 2020-07-22 12:24:19 -07:00
Lucian Copeland
c1f731d62e Claim USB pins at startup to prevent overwrites 2020-07-22 14:22:05 -04:00
hierophect
e232ec10ce
Merge branch 'main' into stm32-timer-allocator 2020-07-22 13:59:39 -04:00
Lucian Copeland
138189bad1 Free timers when modules de-init 2020-07-22 13:58:57 -04:00
root
d83a4ac72d Changes to add compiler optimization option 2020-07-22 12:44:41 -05:00
root
2aef9b02bd update 2020-07-22 11:33:19 -05:00
DavePutz
39e01c3938
Merge pull request #14 from adafruit/main
update from main
2020-07-22 11:30:49 -05:00
Dan Halbert
05a10f7905
Merge pull request #3186 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-22 09:40:22 -04:00
Hosted Weblate
946373fdcd
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-22 14:17:06 +02:00
Dan Halbert
aaa7198071
Merge pull request #3161 from tannewt/bytearray_find
Add find variants to bytearray
2020-07-22 08:16:54 -04:00
Dan Halbert
8e90c1996c
Merge pull request #3162 from tannewt/update_mistune
Move release note converter to latest markdown helper lib
2020-07-22 00:24:12 -04:00
Scott Shawcroft
eb24653d3f
Fix BluetoothError doc typo we copied 2020-07-21 18:30:29 -07:00
Scott Shawcroft
8ff2846bb2
Disable countio on circuitbrains basic 2020-07-21 16:21:49 -07:00
Scott Shawcroft
ee019a96ba
Updates based on review 2020-07-21 16:08:41 -07:00
root
db5c3c9676 dded optimization for esp32s2 2020-07-21 17:54:47 -05:00
Scott Shawcroft
6db10f9c7d
Turn off find when CPYTHON_COMPAT is off 2020-07-21 15:40:51 -07:00
Scott Shawcroft
1b3bc98068
Merge remote-tracking branch 'adafruit/main' into bytearray_find 2020-07-21 15:12:04 -07:00
Scott Shawcroft
cb7df2e1ed
Merge pull request #3160 from tannewt/enable_pystack
Enable PYSTACK to keep function state out of the heap
2020-07-21 13:38:52 -07:00
dherrada
9e3fa863f1
Merge branch 'main' into type_hints 2020-07-21 16:18:51 -04:00
Scott Shawcroft
e047ea287f
Merge pull request #3164 from tannewt/disable_network
Disable existing native networking.
2020-07-21 13:13:50 -07:00
Scott Shawcroft
da1c7f2a79
Merge pull request #3182 from ciscorn/extract_pyi
Improve .pyi generation
2020-07-21 13:13:12 -07:00
Scott Shawcroft
900edb2b8e
Only add .find without CPYTHON_COMPAT 2020-07-21 13:08:42 -07:00
Scott Shawcroft
5e3a853db4
Turn off GC opt on uchip board 2020-07-21 12:51:59 -07:00
Scott Shawcroft
a3a601d0c6
Merge pull request #3177 from WarriorOfWire/issue_3170
vectorio: fix VectorShape non-transposed pixel placement
2020-07-21 11:22:47 -07:00
Scott Shawcroft
678faff464
Be more aggressive with uChip build 2020-07-21 11:02:23 -07:00
Dan Halbert
7f27fcd63a
Merge pull request #3149 from DavePutz/issue2949
Issue#2949 Put in a check to prevent USB starvation by long calculations
2020-07-21 13:29:10 -04:00
Taku Fukada
a29105fefd Improve .pyi generation 2020-07-22 00:37:22 +09:00
root
49decf90c9 Add option for higher optimization levels 2020-07-21 10:11:08 -05:00
Kenny
e977b427aa vectorio: fix VectorShape non-transposed pixel placement
Fixes https://github.com/adafruit/circuitpython/issues/3170

The absolute transform needs to be subtracted in all cases, not
only when the coordinate system is transposed.
2020-07-20 20:25:31 -07:00
Scott Shawcroft
389c81341d
Tweak declaration for boards with TCM 2020-07-20 18:16:20 -07:00
Scott Shawcroft
0c6935e336
Merge branch 'main' into disable_network 2020-07-20 16:28:22 -07:00
Scott Shawcroft
12edb57aac
Merge pull request #3166 from theacodes/bhb-adc
Add _bhb user module for Big Honking Button
2020-07-20 16:24:36 -07:00
Scott Shawcroft
e759769635
Merge pull request #3175 from jepler/background-callback-bugs
Background callback bugfixes
2020-07-20 16:17:31 -07:00
Jeff Epler
565d002a80
Merge pull request #3172 from WarriorOfWire/issue_3169
fix 3169: Polygon.points property
2020-07-20 16:01:45 -05:00
Kenny
e2d252a6d5 pre-allocate list of known size 2020-07-20 10:12:29 -07:00
c243c13f02 framebufferio: Handle auto refresh flag at reset
if we don't set the flag via accessor fn the tick enable might become wrong
2020-07-20 08:52:35 -05:00
9fd10322fe supervisor: rename some locals for clarity
It's perfectly OK for these variables with static linkage to have the
same name, but it's inconvenient for humans like me.
2020-07-20 08:45:31 -05:00
db43c56f79 background callbacks: Clear any callbacks that were queued
Before this, a background callback that was on the list when
background_callback_reset was called could have ended up in a state
that made it "un-queueable": its "prev" pointer could have been non-NULL.
2020-07-20 08:44:39 -05:00
Kenny
efeae0d84f fix 3169: Polygon.points property
The getter for vectorio.Polygon#points was not updated with the data type change of the stored points list.

This moves the implementation to shared_module and updates the data type to reflect the actual state.
2020-07-19 12:27:35 -07:00
Dan Halbert
8f928340c6
Merge pull request #3165 from pewpew-game/pewpew-m4-analogio
pewpew_m4: Enable analogio
2020-07-19 10:10:32 -04:00
Thea Flowers
7ba89f5330 Add _bhb user module for Big Honking Button
BHB needs better accuracy from the ADC readings. To avoid changing the ADC configuration for all boards or adding complexity to AnalogIn, I implemented a custom user module to allow the BHB to talk to the ADC in the way that it needs to. I'm open to other approaches here, but this seemed like the least invasive and complex option.
2020-07-18 22:45:08 -07:00
Radomir Dopieralski
11ef43b071 pewpew_m4: Disable USB_HID back
German translation fails to build, so I have to disabled USB_HID after
all.
2020-07-18 20:09:30 +02:00
Radomir Dopieralski
8d692f33a8 pewpew_m4: Enable analogio and usb_hid
The newest version for the Stage library for PewPewM4 no longer contains
embedded graphics, which frees enough space in flash to enabled back
AnalogIO and also add USB_HID. There is still ~192 bytes left free.

If new additions to CircuitPython make it grow further, we can disable
USB_HID again.
2020-07-18 19:30:40 +02:00
DavePutz
ac5ad030f4
Merge pull request #13 from adafruit/main
Update from adafruit
2020-07-18 12:08:26 -05:00
Dan Halbert
90ae1efa00 revamp ACLDATA reassembly 2020-07-17 21:28:24 -04:00
Scott Shawcroft
6ac2fe58fd
Update translations 2020-07-17 18:03:52 -07:00
Scott Shawcroft
693b3e7704
Update translations 2020-07-17 18:00:58 -07:00
Scott Shawcroft
f38a9c8d29
Add cast for mpy-cross warning 2020-07-17 17:55:06 -07:00
Scott Shawcroft
610e0171aa
Disable existing native networking.
We're moving towards a co-processor model and a Wiznet library is
already available.

New native APIs will replace these for chips with networking like the
ESP32S2 but they won't be these.
2020-07-17 17:43:02 -07:00
Scott Shawcroft
07f031c708
Add ignore() and fix docs 2020-07-17 17:15:04 -07:00
Scott Shawcroft
a1e4814a27
Get AllocationAlarm working 2020-07-17 17:15:03 -07:00
Scott Shawcroft
518d909b2c
Add memorymonitor module 2020-07-17 17:15:03 -07:00
Scott Shawcroft
384a7f7e70
Move release note converter to latest markdown helper lib 2020-07-17 17:09:48 -07:00
Scott Shawcroft
4b157aa6b8
Add find varients to bytearray 2020-07-17 17:07:37 -07:00
Scott Shawcroft
1160635608
Enable PYSTACK to keep function state out of the heap 2020-07-17 17:03:42 -07:00
Lucian Copeland
207369ec09 Add boilerplate, create basic PWMOut test 2020-07-17 17:28:23 -04:00
Jeff Epler
9cdf5e148a
Merge pull request #2879 from jepler/background-callback
Use a linked list of background tasks to perform
2020-07-17 15:46:03 -05:00
98eef79faa background_callback_gc_collect: We must traverse the whole list 2020-07-17 14:55:46 -05:00
6912d31560 uchip: reclaim some flash space 2020-07-17 14:32:05 -05:00
dherrada
612c6bb86b
Merge branch 'main' into type_hints 2020-07-17 14:55:30 -04:00
dherrada
d64b4e3059 Made more requested changes 2020-07-17 14:53:51 -04:00
a18a392109 background_callback: Add gc collect callback
A background callback must never outlive its related object.  By
collecting the head of the linked list of background tasks, this will
not happen.

One hypothetical case where this could happen is if an MP3Decoder is
deleted while its callback to fill its buffer is scheduled.
2020-07-17 08:36:26 -05:00
Dan Halbert
6494bbdc64 snapshot 2020-07-16 23:14:49 -04:00
Lucian Copeland
dc6902a33e Exclude timers from H7 builds 2020-07-16 17:11:24 -04:00
dherrada
bfcaa4b2b4 Made requested changes in displayio 2020-07-16 16:11:22 -04:00
Lucian Copeland
6a49766df0 Fix pulseIO reset and frequency issues, remove IRQ conflict 2020-07-16 15:45:18 -04:00
Dan Halbert
88d8956378
Merge pull request #3143 from tannewt/improve_json
Add support to json.load for any object with readinto
2020-07-16 14:33:33 -04:00
Scott Shawcroft
72f6d7ee21
Merge pull request #3155 from jepler/esp32s2-parallel-build
esp32s2: Take care to invoke the sub-build-system only once
2020-07-16 11:26:53 -07:00
Scott Shawcroft
7bb508bf43
Merge pull request #3157 from tinkeringtech/tinkeringtech-scoutmakes-azul
Addition of Tinkeringtech ScoutMakes Azul nRF52840 based platform to CircuitPython
2020-07-16 11:03:31 -07:00
Scott Shawcroft
3610520ca4
Merge pull request #3156 from jepler/esp32s2-serial-number
esp32s2: Use the device's EUI-48 address as unique ID
2020-07-16 11:00:02 -07:00
Lucian Copeland
cdfc3a2d37 Check out active protomatter PR 2020-07-16 12:08:40 -04:00
TinkeringTech
416a32ab01 fixed build.yml file formatting errors 2020-07-15 21:58:40 -04:00
TinkeringTech
49fcfd14d2 Added the TinkeringTech ScoutMakes Azul platform to CircuitPython 2020-07-15 21:49:34 -04:00
81105cb9ef supervisor: usb: note that it's unusual to need to call usb_background 2020-07-15 11:49:44 -05:00
1df48176ce supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
6160d11c5a supervisor: factor out, Handle USB via background callback 2020-07-15 11:49:44 -05:00
a2919a6fb2 esp32s2: Use the device's EUI-48 address as unique ID
On my hardware, esptool reports
    MAC: 7c:df:a1:02:6c:b8
after this change, the USB descriptor says SerialNumber: 7CDFA1026CB8
and microcontroller.cpu.id has
    >>> "".join("%02x" % byte for byte in microcontroller.cpu.uid)
    'c7fd1a20c68b'

Note that the nibble-swapping between USB and cpu.uid is typical.
For instance, an stm32 board has USB SerialNumber
24002500F005D42445632302 but hex-converted microcontroller.cpu.id
420052000f504d4254363220.
2020-07-15 11:45:13 -05:00
910f69c42b esp32s2: Take care to invoke the sub-build-system only once
This allows "make -j" in the outer build system to function properly,
with a potentially large decrease in build times on high end desktop
systems.
2020-07-15 10:30:07 -05:00
36b4646516 background_callback: Avoid CALLBACK_CRITICAL_BEGIN with nothing to do
CALLBACK_CRITICAL_BEGIN is heavyweight, but we can be confident we do
not have work to do as long as callback_head is NULL.

This gives back performance on nRF.
2020-07-15 09:26:47 -05:00
af520729fe displayio, framebufferio: Enable supervisor tick when a display is auto-refresh
This is a step towards restoring the efficiency of the background
tasks
2020-07-15 09:26:47 -05:00
bdab6c12d4 MP3Decoder: take advantage of background callback
Before this, the mp3 file would be read into the in-memory buffer
only when new samples were actually needed.  This meant that the time
to read mp3 content always counted against the ~22ms audio buffer length.

Now, when there's at least 1 full disk block of free space in the input
buffer, we can request that the buffer be filled _after_ returning from
audiomp3_mp3file_get_buffer and actually filling the DMA pointers.  In
this way, the time taken for reading MP3 data from flash/SD is less
likely to cause an underrun of audio DMA.

The existing calls to fill the inbuf remain, but in most cases during
streaming these become no-ops because the buffer will be over half full.
2020-07-15 09:26:47 -05:00
742aa740f6 samd: audio: Move to background callback
Testing performed: Played half of the Bartlebeats album :) :)
2020-07-15 09:26:47 -05:00
8c4a9f6444 supervisor: tick: only run background tasks once per tick 2020-07-15 09:26:47 -05:00
1474fccd2f supervisor: Add a linked list of background callbacks
In time, we should transition interrupt driven background tasks out of the
overall run_background_tasks into distinct background callbacks,
so that the number of checks that occur with each tick is reduced.
2020-07-15 09:26:47 -05:00
dc74ae83da nRF: Always use sd_nvic_critical_region calls
The motivation for doing this is so that we can allow
common_hal_mcu_disable_interrupts in IRQ context, something that works
on other ports, but not on nRF with SD enabled.  This is because
when SD is enabled, calling sd_softdevice_is_enabled in the context
of an interrupt with priority 2 or 3 causes a HardFault.  We have chosen
to give the USB interrupt priority 2 on nRF, the highest priority that
is compatible with SD.

Since at least SoftDevice s130 v2.0.1, sd_nvic_critical_region_enter/exit
have been implemented as inline functions and are safe to call even if
softdevice is not enabled.  Reference kindly provided by danh:
 https://devzone.nordicsemi.com/f/nordic-q-a/29553/sd_nvic_critical_region_enter-exit-missing-in-s130-v2

Switching to these as the default/only way to enable/disable interrupts
simplifies things, and fixes several problems and potential problems:
 * Interrupts at priority 2 or 3 could not call common_hal_mcu_disable_interrupts
   because the call to sd_softdevice_is_enabled would HardFault
 * Hypothetically, the state of sd_softdevice_is_enabled
   could change from the disable to the enable call, meaning the calls
   would not match (__disable_irq() could be balanced with
   sd_nvic_critical_region_exit).

This also fixes a problem I believe would exist if disable() were called
twice when SD is enabled.  There is a single "is_nested_critical_region"
flag, and the second call would set it to 1.  Both of the enable()
calls that followed would call critical_region_exit(1), and interrupts
would not properly be reenabled.  In the new version of the code,
we use our own nesting_count value to track the intended state, so
now nested disable()s only call critical_region_enter() once, only
updating is_nested_critical_region once; and only the second enable()
call will call critical_region_exit, with the right value of i_n_c_r.

Finally, in port_sleep_until_interrupt, if !sd_enabled, we really do
need to __disable_irq, rather than using the common_hal_mcu routines;
the reason why is documented in a comment.
2020-07-15 09:26:47 -05:00
51b9a1aeca tick.c: adjust whitespace 2020-07-15 09:26:47 -05:00
Dan Halbert
b08b0264cc back to working; check for extended advertising support 2020-07-15 09:46:13 -04:00
Lucian Copeland
818b96ae61 Fix IRQ enum protections 2020-07-14 16:33:36 -04:00
Scott Shawcroft
a6c20208b3
Merge pull request #3148 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-14 11:20:27 -07:00
DavePutz
e5f7adcf5d
Fix to pass mpy-cross build 2020-07-13 22:54:52 -05:00
DavePutz
14799f9ee6
more formatting fix 2020-07-13 22:43:46 -05:00
DavePutz
30361f6f2a
Fix formatting 2020-07-13 22:39:30 -05:00
DavePutz
e963cff72d
Issue #2949 Run background checks during long multiplications 2020-07-13 22:27:06 -05:00
DavePutz
40f1bd0c7c
Merge pull request #12 from adafruit/main
Update from adafruit/main
2020-07-13 22:23:58 -05:00
Hosted Weblate
a2233ced87 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-14 02:14:25 +02:00
Scott Shawcroft
90ad9beff5
Merge pull request #3136 from xiongyihui/master
Add 2 boards nRF52840 M.2 devkit and M60 Keyboard
2020-07-13 17:14:18 -07:00
Scott Shawcroft
08375c7930
Merge pull request #2780 from AndrewR-L/patch-1
busio/UART: Correct and clarify readline() return.
2020-07-13 16:29:58 -07:00
Scott Shawcroft
51c888d4be
Merge pull request #3003 from Flameeyes/master
License tagging according to REUSE specifications.
2020-07-13 16:28:49 -07:00
Scott Shawcroft
3ddb598f0d
Merge pull request #3131 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-13 16:04:03 -07:00
Scott Shawcroft
d712d1281c
Merge branch 'main' into master 2020-07-13 15:53:44 -07:00
Alvaro Figueroa
0ab2c7b10a Translated using Weblate (Spanish)
Currently translated at 100.0% (779 of 779 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-07-13 22:26:18 +02:00
_fonzlate
f1b3c88d6e Translated using Weblate (Dutch)
Currently translated at 100.0% (779 of 779 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-07-13 22:26:18 +02:00
Jonny Bergdahl
7b31ededcd Translated using Weblate (Swedish)
Currently translated at 100.0% (779 of 779 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2020-07-13 22:26:17 +02:00
Alvaro Figueroa
8e7dab34c2 Translated using Weblate (Spanish)
Currently translated at 99.8% (778 of 779 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-07-13 22:26:17 +02:00
Wellington Terumi Uemura
9f81922be3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (779 of 779 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-13 22:26:17 +02:00
Hosted Weblate
0354d4a225 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-13 22:26:17 +02:00
Dan Halbert
3fcd999130
Merge pull request #3130 from pewpew-game/brownout-level
SAMD: make the brownout detection level configurable per board
2020-07-13 16:26:11 -04:00
Scott Shawcroft
b81195d1d5
Merge pull request #3141 from pewpew-game/main
Fluff M0: additional pins on version 1.3 of the board
2020-07-13 12:24:17 -07:00
Lucian Copeland
b8910676db Add missing enum preprocessor protection 2020-07-13 11:52:30 -04:00
Dan Halbert
f6869c69c5 wip: advertising; not tested 2020-07-12 19:45:23 -04:00
DavePutz
85fef83f73
Merge pull request #11 from adafruit/main
updating
2020-07-12 18:06:27 -05:00
Yihui Xiong
c8752ff93e use RGB LEDs as status indicators 2020-07-11 21:25:32 +08:00
Yihui Xiong
8e26fdc0e9 add LED status, remove unused macros 2020-07-11 10:51:31 +08:00
Scott Shawcroft
372bcf8a95
Fix stream version and add basic readinto test 2020-07-10 17:33:17 -07:00
Scott Shawcroft
734661e79c
Add support to json.load for any object with readinto
This way we don't need to load the whole string version of the
json into memory.
2020-07-10 16:42:32 -07:00
Lucian Copeland
b1ac6b4444 translations 2020-07-10 15:16:47 -04:00
Radomir Dopieralski
742f9cfdb0 Fluff M0: additional pins on version 1.3 of the board 2020-07-10 20:40:58 +02:00
Scott Shawcroft
37e77b21cd
Merge pull request #3140 from dunkmann00/docs-version-conf
Set version and release in build workflow
2020-07-10 11:15:23 -07:00
Yihui Xiong
7ff499046b use VID & PIDs granted by Seeed 2020-07-11 00:37:45 +08:00
Lucian Copeland
eb86010176 Enable RGB Matrix 2020-07-10 11:06:12 -04:00
George Waters
a7634e8bf2
Set version and release in build workflow 2020-07-09 15:32:19 -04:00
Scott Shawcroft
41fe62929f
Merge pull request #3137 from jepler/update-mp3-lib
lib/mp3: update to 1.2.2 release
2020-07-09 10:31:42 -07:00
Scott Shawcroft
0068c76fa6
Merge pull request #3135 from arms22/bless_dev_board_multi_sensor
Add new board BLE-SS dev board Multi Sensor
2020-07-09 10:29:57 -07:00
Scott Shawcroft
121044cd57
Merge pull request #3132 from jepler/remove-audioio-compat
audioio: Remove compatibility code
2020-07-09 10:23:40 -07:00
Lucian Copeland
edc48a505f Complete F405 pin and periph definitions 2020-07-09 13:10:18 -04:00
Lucian Copeland
2bcc5c06c2 Fix advanced claimed pin/package timer search 2020-07-09 11:42:37 -04:00
f1509debc3 lib/mp3: update to 1.2.2 release
This fixes the audio clipping bug
2020-07-09 10:05:08 -05:00
Yihui Xiong
678f266394 fix pre-commit check 2020-07-09 10:25:46 +00:00
Radomir Dopieralski
e0733d153e SAMD: configurable brownout, separate the variables 2020-07-09 12:17:07 +02:00
Yihui Xiong
8fef69809c add m60 keyboard and nrf52840 m.2 devkit to build action
Signed-off-by: Yihui Xiong <yihui.xiong@hotmail.com>
2020-07-09 10:04:26 +00:00
Yihui Xiong
96f6ce222c add makerdiary m60 keyboard
Signed-off-by: Yihui Xiong <yihui.xiong@hotmail.com>
2020-07-09 10:02:27 +00:00
Yihui Xiong
e81d22cd67 add makerdiary nrf52840 m.2 devkit
Signed-off-by: Yihui Xiong <yihui.xiong@hotmail.com>
2020-07-09 10:01:04 +00:00
Dan Halbert
f03045b97e address working; improved pkt dump 2020-07-08 23:15:48 -04:00
arms22
bb5cdcf954 Add new board BLE-SS dev board Multi Sensor 2020-07-09 11:26:45 +09:00
6d97f6fccc audioio: Remove compatibility code
These items were aliased from audiocore to audioio for compatibility
with 4.x, but according to our deprecation schedule can be removed
in 6.0.
2020-07-08 20:31:35 -05:00
Lucian Copeland
9c38f5dcb1 Merge remote-tracking branch 'upstream/main' into stm32-timer-allocator 2020-07-08 16:03:12 -04:00
Scott Shawcroft
ce214e82a5
Merge pull request #3127 from Arudinne/Raytac_MDBT50Q-DB-40
Add new board Raytac MDBT50Q-DB-40
2020-07-08 11:34:56 -07:00
Scott Shawcroft
dcf80e39dc
Merge pull request #3067 from jepler/stm-spi-pin-search
STM32: revamp SPI pin search code
2020-07-08 11:32:26 -07:00
Radomir Dopieralski
83a27edd20 SAMD: make the brownout detection level configurable per board
Not all boards have external flash or other components that make them
require 2.7V -- sometimes we can get considerably longer battery life
by decreasing this requirement.

In particular, pewpew10 and pewpew_m4 are powered directly from
battery, with no LDO, and should work fine down to 1.6V.
2020-07-08 19:59:53 +02:00
Arudinne
768149fb01 modified: ports/nrf/boards/raytac_mdbt50q-db-40/pins.c 2020-07-08 10:36:41 -05:00
Dan Halbert
a5ab2829eb use zephyr include files; wip: compiles 2020-07-08 09:33:41 -04:00
Jeff Epler
959b4da9bb make translate 2020-07-07 14:38:34 -05:00
Arudinne
5a9aac472a modified: ports/nrf/boards/raytac_mdbt50q-db-40/pins.c 2020-07-07 14:37:59 -05:00
57ab4f1329 stm: SPI: revamp pin search code
I discussed with Hierophect on Discord about how to "de-nest" the code
for configuring SPI objects on STM, because the problems with one
nesting level per pin becomes unmanageable with the up to 10 pins of
SDIO.

This code (which is only compile-tested so far) demonstrates the concept
we discussed.

The SCK pin is always required.  Loop over all possibilities of the SCK
pin.  When we are considering a particular item in the mcu_spi_sck_list
we have now become committed to using a particular periph_index.  If all
the other pins can be satisfied by that periph_index, then we have a
working combination.  Once we have a working combination that is not
reserved, we can return that combination.  On reaching the end, we have
checked all the possible possibilities and can give the same errors as
before: One if there was a possibility that worked but was reserved;
and another if no possibility worked.
2020-07-07 14:37:50 -05:00
Arudinne
dc2f729d19 modified: ports/nrf/boards/raytac_mdbt50q-db-40/mpconfigboard.mk
modified:   ports/nrf/boards/raytac_mdbt50q-db-40/pins.c
2020-07-07 14:37:08 -05:00
Jeff Epler
9b4b655b03
Merge pull request #3124 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-07 14:35:09 -05:00
Arudinne
3a9e01e185 modified: .github/workflows/build.yml 2020-07-07 13:01:21 -05:00
Arudinne
b5af05cd31 new file: ports/nrf/boards/raytac_mdbt50q-db-40/board.c
new file:   ports/nrf/boards/raytac_mdbt50q-db-40/bootloader/6.0.0/pca10056_bootloader_6.0.0_s140.zip
	new file:   ports/nrf/boards/raytac_mdbt50q-db-40/mpconfigboard.h
	new file:   ports/nrf/boards/raytac_mdbt50q-db-40/mpconfigboard.mk
	new file:   ports/nrf/boards/raytac_mdbt50q-db-40/pins.c
2020-07-07 12:27:23 -05:00
Alvaro Figueroa
cceab2af65 Translated using Weblate (Spanish)
Currently translated at 100.0% (778 of 778 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-07-07 17:59:36 +02:00
oon arfiandwi
d73d7488b7 Translated using Weblate (Indonesian)
Currently translated at 43.0% (335 of 778 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-07-07 17:59:36 +02:00
Scott Shawcroft
965a4961ce
Merge pull request #3120 from DavePutz/issue#3049
Issue#3049 -PulseIn not working in CP5.4
2020-07-07 08:59:22 -07:00
DavePutz
0932b64ae7
Correct for SAMD51 build 2020-07-06 23:25:33 -05:00
DavePutz
1b3cb17abd
Corrected file for SAMD51 build 2020-07-06 21:47:11 -05:00
DavePutz
ab4a453006
Made requested changes 2020-07-06 21:40:38 -05:00
Scott Shawcroft
a7844205bd
Merge pull request #3123 from kamtom480/sdk2.0
spresense: update SDK to 2.0.1
2020-07-06 15:09:46 -07:00
Scott Shawcroft
846f01b2c8
Merge pull request #3113 from ansonhe97/main
ADD: Added Wio Terminal's functional pins and LCD driver to board init
2020-07-06 14:50:47 -07:00
Diego Elio Pettenò
34b4993d63 Add license to some obvious files. 2020-07-06 19:16:25 +01:00
Diego Elio Pettenò
d7e57259f9 Add copyright and license information to translations.
Since these have multiple copyright lines already, preserve those in
addition to the generic 'contributors' line, but make them appear as SPDX lines.
2020-07-06 19:16:21 +01:00
Diego Elio Pettenò
eed7e84d94 Add an explicit SPDX license file for ter-u12n.
While the .bdf file already includes copyright information, this makes it
visible as part of REUSE SPDX identification.
2020-07-06 19:15:41 +01:00
Diego Elio Pettenò
f4a1cfb116 Add LICENSES as identified by REUSE tooling. 2020-07-06 19:15:41 +01:00
Diego Elio Pettenò
9dbb6fdb38 Add a .mailmap file to collate together multiple author entries.
This reduces the 484 separate authors into 405, removing some obviously
invalid addresses on the way.
2020-07-06 19:15:41 +01:00
Radomir Dopieralski
2f80460a2f Fluff M0: additional pins on version 1.3 of the board 2020-07-06 19:15:41 +01:00
Dan Halbert
632cd9f992
Merge pull request #3122 from tylercrumpton/patch-2
Fix minor typo in MicroPython libraries page
2020-07-06 14:10:36 -04:00
Kamil Tomaszewski
97355f8fb7 spresense: update SDK to 2.0.1 2020-07-06 17:13:28 +02:00
Tyler Crumpton
d1c9bb30e2
Fix minor typo in MicroPython libraries page 2020-07-06 09:56:52 -05:00
DavePutz
ac33c3fe2c
Implementation of continuous synchronization of RTC during pulsein
Flags and code to implement continuous synchronization of RTC during pulsein
2020-07-04 21:17:19 -05:00
DavePutz
94d90742dd
Implementation of RTC continuous synchronization during pulsein
Flags and code to implement RTC continuous synchronization during pulsein
2020-07-04 21:15:38 -05:00
DavePutz
22d67b45f0
Merge pull request #10 from adafruit/main
updating my branch
2020-07-04 20:55:24 -05:00
ndgarage
e514782cc6 update-with-new-usb-PID 2020-07-04 10:39:21 -06:00
Jeff Epler
f6aee98000
Merge pull request #3117 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-04 06:27:27 -05:00
ansonhe97
36ef3476de Fix depreciate terminology 2020-07-04 11:21:58 +08:00
01b2682842
Translated using Weblate (Indonesian)
Currently translated at 29.1% (227 of 778 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-07-04 04:45:21 +02:00
oon arfiandwi
2345b57373
Translated using Weblate (Indonesian)
Currently translated at 29.1% (227 of 778 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-07-04 04:34:42 +02:00
Jeff Epler
4df19753e0
Merge pull request #3116 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-03 21:34:34 -05:00
Wellington Terumi Uemura
5375e54603
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (778 of 778 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-04 00:53:02 +02:00
Dan Halbert
77b5a38ec7
Merge pull request #3114 from tannewt/shrink_files.json
Shrink files.json by using one space instead of four.
2020-07-03 18:52:54 -04:00
dherrada
bce77adecd Added type hints previously missed 2020-07-03 16:03:19 -04:00
Scott Shawcroft
50a6342f6d
Shrink files.json by using one space instead of four.
Also:
- Remove download count update because the files are no longer
  on GitHub.
- Add "extensions" and "languages" to each board dictionary so we
  can stop using "files" entirely.
2020-07-03 12:54:48 -07:00
dherrada
9911b64fa1 Added type hints to ustack 2020-07-03 15:52:53 -04:00
dherrada
657c651e0e Added type hints to uheap 2020-07-03 15:51:39 -04:00
dherrada
4c5a9d1e3a Added type hints to time 2020-07-03 15:49:51 -04:00
dherrada
4758081e10 Added type hints to struct 2020-07-03 15:45:29 -04:00
dherrada
45b6e0174e Added type hints to storage 2020-07-03 15:38:40 -04:00
dherrada
a88004e509 Added type hints to rtc 2020-07-03 15:27:11 -04:00
dherrada
97d405e109 Added type hints to random 2020-07-03 15:25:58 -04:00
dherrada
e237dfe3c5 Added type hints to os 2020-07-03 15:18:44 -04:00
dherrada
aaa550b33e Added type hints to network 2020-07-03 15:10:56 -04:00
dherrada
9122d0b9f4 Added type hints to multiterminal 2020-07-03 15:08:16 -04:00
dherrada
591cc1a243 Added type hints to math 2020-07-03 15:04:43 -04:00
dherrada
f56deb60c6 Added type hints to _eve 2020-07-03 14:48:16 -04:00
dherrada
d0d949cd24 Made every init return None 2020-07-03 14:23:34 -04:00
dherrada
d358c915c3 Fixed init formatting 2020-07-03 14:00:06 -04:00
dherrada
3df03a5650 Made most of the requested changes 2020-07-03 13:49:00 -04:00
dherrada
843ff5d302 Added type hints to wiznet 2020-07-03 11:44:16 -04:00
dherrada
5163618d23 Added type hints to watchdog 2020-07-03 11:42:07 -04:00
dherrada
9c842c5a67 Added type hints to usb_midi 2020-07-03 11:40:20 -04:00
dherrada
e089862a6c Added type hints to usb_hid 2020-07-03 11:38:02 -04:00
dherrada
0a657091c6 Added type hints to touchio 2020-07-03 11:34:45 -04:00
dherrada
f8229372bd Added type hints to terminalio 2020-07-03 11:31:57 -04:00
dherrada
6e4c76a926 Added type hints to _stage 2020-07-03 11:26:48 -04:00
dherrada
9116470fd7 Added type hints to socket 2020-07-03 11:24:53 -04:00
dherrada
71ec419da6 Added type hints to sdioio 2020-07-03 11:16:41 -04:00
dherrada
48443ce02b Added type hints to sdcardio 2020-07-03 11:15:22 -04:00
dherrada
d9a98bd05c Added type hints to rotaryio 2020-07-03 11:13:16 -04:00
dherrada
c8437e6595 Added type hints to rgbmatrix 2020-07-03 11:10:13 -04:00
dherrada
93d20077cc Added type hints to pulseio 2020-07-03 11:04:03 -04:00
dherrada
a2c7e2795b Added type hints to ps2io 2020-07-03 10:51:39 -04:00
dherrada
41f12a7a6c Added type hints to pixelbuf 2020-07-03 10:47:44 -04:00
dherrada
e273b9a11f Added type hints to _pew 2020-07-03 10:42:57 -04:00
dherrada
0abf45a446 Added type hints to nvm 2020-07-03 10:37:55 -04:00
dherrada
0a8d9eed45 Added type hints to microcontroller 2020-07-03 10:33:28 -04:00
dherrada
2e8b8c7b95 Added type hints to i2cperipheral 2020-07-03 10:29:39 -04:00
dherrada
6a3968d805 Added type hints to gnss 2020-07-03 10:26:31 -04:00
dherrada
d73348f673 Added type hints to gamepadshift 2020-07-03 10:19:34 -04:00
dherrada
ff8604bb82 Added type hints to gamepad 2020-07-03 10:17:35 -04:00
dherrada
51841447be Added type hints to frequencyio 2020-07-03 10:14:40 -04:00
dherrada
ca0e8ea1eb Added type hints to framebufferio 2020-07-03 10:12:04 -04:00
dherrada
48ea2271b7 Added type hints to fontio 2020-07-03 10:08:25 -04:00
dherrada
783cc4de39 Added type hints to displayio 2020-07-03 10:05:14 -04:00
Lucian Copeland
c72e3536f1 Merge remote-tracking branch 'upstream/main' into stm32-timer-allocator 2020-07-03 09:50:05 -04:00
ansonhe97
2ecb46f192 Fix CI 2020-07-03 13:42:27 +08:00
ansonhe97
2a92cf8d8b ADD: Added LCD driver to board init 2020-07-03 12:44:20 +08:00
ansonhe97
49aacc8596 ADD: Fixed wrong SPI pins and added more functional pins 2020-07-03 12:43:21 +08:00
Scott Shawcroft
4d7b9cde33
Merge pull request #3109 from pewpew-game/fluff_m0
Fluff M0: additional pins on version 1.3 of the board
2020-07-02 15:43:32 -07:00
Scott Shawcroft
70fdde4aaa
Remove trailing space 2020-07-02 15:11:40 -07:00
Scott Shawcroft
ed34d52efd
Merge pull request #3105 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-02 15:10:37 -07:00
dherrada
9b4ffc0571 Changed unions to ReadableBuffer and WriteableBuffer 2020-07-02 17:47:52 -04:00
Radomir Dopieralski
fce35c3481 Fluff M0: additional pins on version 1.3 of the board 2020-07-02 22:57:58 +02:00
Scott Shawcroft
c33542f978
Merge branch 'main' into patch-1 2020-07-02 13:56:09 -07:00
_fonzlate
35e35e61d3 Translated using Weblate (Dutch)
Currently translated at 100.0% (778 of 778 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/nl/
2020-07-02 22:45:45 +02:00
Hosted Weblate
8f921cf138 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-02 22:45:45 +02:00
Wellington Terumi Uemura
185a149da4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (777 of 777 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-02 22:45:45 +02:00
Scott Shawcroft
eec42d4cb5
Merge pull request #3087 from sommersoft/cpy_org_sptmtrx
Release PRs To circuitpython.org: Include The Available Built-in Modules For Each Board
2020-07-02 13:45:39 -07:00
Scott Shawcroft
4a21426377
Merge pull request #3103 from hierophect/stm32-simplex-spi-fix
STM32: add debug flags, fix hang in simplex SPI
2020-07-02 13:42:08 -07:00
Lucian Copeland
4b66483757 Update submodule, revert direction change 2020-07-02 15:38:37 -04:00
Scott Shawcroft
d901b056dc
Merge pull request #3106 from kamtom480/sdcard
spresense: Add support for sdioio
2020-07-02 11:28:24 -07:00
dherrada
dd27fdfbe3 Added type hints to countio 2020-07-02 14:15:43 -04:00
dherrada
51fd286cbf Added type hints to board 2020-07-02 14:14:05 -04:00
dherrada
26f1fd0071 Added type hints to _bleio 2020-07-02 14:11:25 -04:00
dherrada
54cb1feea0 Removed all 'self, )' 2020-07-02 13:28:36 -04:00
dherrada
522b17ca93 Made suggested changes 2020-07-02 13:25:07 -04:00
dherrada
ac113fdc81 Changed bytearray to a union 2020-07-02 12:39:17 -04:00
dherrada
ffc5f0c338 Added type hints to bitbangio 2020-07-02 12:37:03 -04:00
dherrada
ed476a417c Added type hints to audiopwmio 2020-07-02 12:07:03 -04:00
dherrada
e169da3532 More extract_pyi tweaks 2020-07-02 12:02:21 -04:00
dherrada
e114b31a7a Added type hints to audiomp3 2020-07-02 12:02:21 -04:00
dherrada
24bca06db0 Added type hints to audiomixer 2020-07-02 12:02:13 -04:00
dherrada
3d1e0051e6 Added type hints to audioio 2020-07-02 12:02:07 -04:00
dherrada
b26ee6c1f6 Added type hints to audiocore 2020-07-02 12:02:02 -04:00
dherrada
2681bd52b5 Did audiobusio 2020-07-02 11:33:18 -04:00
dherrada
427733af04 More tweaks to extract_pyi.py 2020-07-02 11:30:42 -04:00
dherrada
627ecadb3f Did aesio 2020-07-02 11:10:53 -04:00
dherrada
1e96ca582e Made more modifications to extract_pyi.py 2020-07-02 11:10:43 -04:00
dherrada
d1664bdde2 Fixed extract_pyi script to allow NoneType 2020-07-02 10:25:20 -04:00
dherrada
596f2f6e7d Merge branch 'type_hints' of https://github.com/dherrada/circuitpython into type_hints 2020-07-02 10:24:58 -04:00
dherrada
cb259de5ef Did busio, fixed up analogio 2020-07-02 10:23:17 -04:00
dherrada
6fd6747e9e Added type hints for analogio 2020-07-02 09:36:22 -04:00
Jeff Epler
e808dca893
Merge pull request #3102 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-02 08:32:04 -05:00
Kamil Tomaszewski
22f0c14fdb locale: update translate 2020-07-02 15:29:28 +02:00
dherrada
7aa689823e Added type hints to analogio 2020-07-02 09:27:14 -04:00
Kamil Tomaszewski
f4a2474447 spresense: Add support for sdioio 2020-07-02 15:26:59 +02:00
Wellington Terumi Uemura
75bcd73439 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (777 of 777 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-02 04:02:17 +02:00
Hosted Weblate
a301a9d9b1 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-07-02 04:02:17 +02:00
Jeff Epler
fcddfd0f39
Merge pull request #3083 from tannewt/esp32s2_busio
Add busio support for the ESP32-S2
2020-07-01 21:02:08 -05:00
Lucian Copeland
87d58b3b0a STM32: add debug flags, fix hang in simplex SPI 2020-07-01 17:48:10 -04:00
Scott Shawcroft
367d3800fc
Return false if we already have the lock 2020-07-01 14:35:25 -07:00
Scott Shawcroft
0e5dfbaf8f
Merge pull request #3100 from jepler/update-ulab
Update ulab
2020-07-01 14:21:00 -07:00
ndgarage
0537f4e775 restore-ndgarage_ndbit6-to-original 2020-07-01 14:12:52 -06:00
ndgarage
c759c9a2aa add-ndgarage_ndbit6_v2-update 2020-07-01 13:58:07 -06:00
svgops
b80dbb4b2c add-ndgarage_ndbit6_v2 2020-07-01 12:06:59 -06:00
Jeff Epler
34646c5565
Merge pull request #3096 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-07-01 11:49:26 -05:00
48bc4bd5d6 make translate 2020-07-01 10:33:38 -05:00
e33accae4d ulab: document sosfilt 2020-07-01 10:15:09 -05:00
783846c605 ulab: update to 0.51.1 2020-07-01 10:00:28 -05:00
Lucian Copeland
ab9a64eafa Add timer allocator, adjust pulsio to use general purpose timers 2020-07-01 10:35:49 -04:00
Wellington Terumi Uemura
0a9c6fbb7f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (770 of 770 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-07-01 13:58:53 +02:00
Jeff Epler
3a17a79bf2
Merge pull request #3094 from kamtom480/mkspk
spresense: add elf32.h for mkspk
2020-07-01 06:58:40 -05:00
ansonhe97
d4e28dd233 ADD: added more special pins on Wio Terminal 2020-07-01 17:06:26 +08:00
Dan Halbert
11cb3e3b4b hci skeleton done; not working yet 2020-06-30 23:19:40 -04:00
Scott Shawcroft
c3d1256d76
Add one-of-each build target at the top level. 2020-06-30 15:30:07 -07:00
Scott Shawcroft
5028804878
Remove fixed pointers and check UART return 2020-06-30 15:29:42 -07:00
Scott Shawcroft
1ce682d404
Merge pull request #3092 from sommersoft/5.3.x
[5.3.x] Custom CSS For "Viewing Outdated Docs" Message
2020-06-30 10:58:46 -07:00
Scott Shawcroft
74ad5e80ce
Merge pull request #3089 from ansonhe97/main
Add: added Seeed's Wio Terminal Board Support
2020-06-30 10:58:24 -07:00
Scott Shawcroft
35b81440c7
Merge pull request #3090 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-06-30 10:48:46 -07:00
ansonhe97
d9e623eb09 Fix order of ci check 2020-06-30 09:51:44 +08:00
Scott Shawcroft
69b3d47564
Fix other esp builds 2020-06-29 18:21:53 -07:00
Scott Shawcroft
965a40b6a1
Fix cxd56 function signature 2020-06-29 17:17:46 -07:00
Scott Shawcroft
1a0c10c328
Fix debug UART call 2020-06-29 17:15:01 -07:00
Hosted Weblate
c1e7a254a3
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-06-30 01:50:07 +02:00
Wellington Terumi Uemura
3f764d99ee Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.3% (526 of 759 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-06-30 01:50:05 +02:00
Wellington Terumi Uemura
4d9fcc6ed0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 56.9% (432 of 759 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-06-30 01:50:05 +02:00
Alvaro Figueroa
fc0cb8fb29 Translated using Weblate (Spanish)
Currently translated at 89.0% (676 of 759 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-06-30 01:50:05 +02:00
Scott Shawcroft
111f7ddf69
Merge pull request #2863 from jepler/sdcard-in-core
Sdcard in core
2020-06-29 16:49:58 -07:00
Scott Shawcroft
ceb2efcbc3
Add new UnexpectedMaker FeatherS2 to CI. 2020-06-29 16:34:37 -07:00
sommersoft
47849a9e58 add custom css for 'viewing-old-docs' message 2020-06-29 18:18:25 -05:00
Scott Shawcroft
7750eb0dcc
Merge pull request #3082 from sommersoft/customcss_old_docs_warning
[main] Custom CSS For "Viewing Outdated Docs" Message
2020-06-29 15:52:46 -07:00
sommersoft
c84c30846c docs/shared_bindings_matrix.py: use '__file__' to ascertain root dir 2020-06-29 09:02:04 -05:00
Jeff Epler
367e16304f
Merge pull request #3068 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-06-29 08:13:17 -05:00
ansonhe97
4613f80d7a Fix end of line 2020-06-29 17:41:48 +08:00
ansonhe97
0dd17f4418 Add: Added Seeed Wio Terminal board support 2020-06-29 16:22:41 +08:00
sommersoft
d911dc98d9 docs/shared_binding_matrix.py: fix usage with the branded name (building docs) 2020-06-29 01:09:04 -05:00
sommersoft
928433f2e3 tools/build_board_info.py: add built-in modules information for each board for use on circuitpython.org; uses 'docs/shared_bindings_matrix.py' 2020-06-29 00:27:45 -05:00
sommersoft
87e4f47866 docs/shared_bindings_matrix.py: changes to allow usage in 'tools/build_board_info.py'; includes root dir finder, and output board name option. 2020-06-29 00:17:12 -05:00
Wellington Terumi Uemura
c9d8cfc9fa Translated using Weblate (Portuguese (Brazil))
Currently translated at 24.3% (185 of 759 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-06-28 14:16:11 +02:00
Hosted Weblate
b0440a90a7 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-06-28 14:16:11 +02:00
Hosted Weblate
39fc16deae Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-06-28 14:16:11 +02:00
Jeff Epler
5f3843df71
Merge pull request #3086 from jerryneedell/jerryn_cmake
change esp32s2 CMake verision requirement to >= 3.13
2020-06-28 07:16:03 -05:00
jerryneedell
5015125526 remove extra frozen folder 2020-06-28 05:23:07 -04:00
jerryneedell
bbedd43273 change CMake verision requirement 2020-06-27 13:27:42 -04:00
Scott Shawcroft
8abf8c2c50
Merge pull request #3078 from jepler/redirects-mk2
Make redirects actually work on RTD, redirect __init__.html pages
2020-06-26 18:58:52 -07:00
Scott Shawcroft
7f6bef3251
Remove debug prints 2020-06-26 16:56:17 -07:00
Scott Shawcroft
08749630a2
Fix SPI RX and remove debug prints 2020-06-26 16:30:24 -07:00
Dan Halbert
f879114c43 do HCI pin init in Python, not here 2020-06-26 19:27:05 -04:00
sommersoft
ba0911b0f6 add custom css for 'viewing-old-docs' message 2020-06-26 17:01:25 -05:00
Dan Halbert
1bc2e979eb wip; compiles; much commented out 2020-06-26 17:23:20 -04:00
e40539caca docs: conf.py: fix logging about reidrects 2020-06-26 15:28:20 -05:00
56367b197b docs: conf.py: Fix redirects for RTD 2020-06-26 15:23:42 -05:00
844f575a90 redirects: Add __init__ page redirects 2020-06-26 15:06:22 -05:00
2019d47ed5 redirects.txt: sort according to LANG=C.UTF-8 collation rules 2020-06-26 15:05:57 -05:00
Scott Shawcroft
2d579cc995
Use NULL for deinited DigitalInOut
This fixes a Display issue where no backlight pin is given but it's
still deinitialized.
2020-06-26 12:33:50 -07:00
Scott Shawcroft
a9f257bcd6
Store host_id so that never reset works 2020-06-26 12:32:56 -07:00
472a04ba4b sdioio: Remove junk in comments 2020-06-26 13:17:00 -05:00
c5db97c50f atmel-sam: sdio: disable debug prints by default 2020-06-26 13:16:16 -05:00
Jeff Epler
0f2fb93d14
Update shared-bindings/sdcardio/SDCard.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2020-06-26 13:15:30 -05:00
Scott Shawcroft
0f074fb956
Merge pull request #3072 from PTS93/patch-2
Update minimum required cmake to 3.16
2020-06-26 10:02:24 -07:00
f496c0b58d atmel-samd: Add SDIO SD card interface 2020-06-26 11:50:42 -05:00
d4b9458512 samd: sdio: Add needed files from atmel start 2020-06-26 11:50:41 -05:00
05837b2841 sdioio: Add shared-bindings
There is no implementation yet.
2020-06-26 11:50:25 -05:00
159728b550 shared-bindings: Factor out validate_list_is_free_pins
This will ultimately be used by SDIO, where a variable length list
of data lines is called for.
2020-06-26 11:50:24 -05:00
57fde2e07b sdcardio: implement new library for SD card I/O
Testing performed: That a card is successfully mounted on Pygamer with
the built in SD card slot

This module is enabled for most FULL_BUILD boards, but is disabled for
samd21 ("M0"), litex, and pca10100 for various reasons.
2020-06-26 11:50:23 -05:00
Scott Shawcroft
9ec9644928
Merge pull request #3071 from jgillick/jeremy/stm-nvm-flash
STM32 (ThunderPack) - Move NVM sector to increase program size.
2020-06-26 09:45:26 -07:00
Dan Halbert
57bac9a1fc update submodules 2020-06-26 12:42:54 -04:00
Scott Shawcroft
12df4ce221
Merge pull request #3070 from PTS93/patch-1
Fix typo inserting IDF_PATH variable
2020-06-26 09:42:21 -07:00
Dan Halbert
3e616ccead update submodules 2020-06-26 12:21:57 -04:00
jgillick
017c188ab5 Move NVM block to increase program size. 2020-06-25 21:46:15 -07:00
Dan Halbert
759929c24a hci early wip; refactor supervisor bluetooth.c for nrf: tested 2020-06-25 20:57:17 -04:00
Timon
a80d7479d0
Update minimum required cmake to 3.16
Earliest tested version that compiles.
Failed with version 3.10
2020-06-26 02:04:14 +02:00
Timon
0a41b86f6b
Fix typo inserting IDF_PATH variable 2020-06-26 01:36:03 +02:00
Lucian Copeland
6c91af7d56 WIP 2020-06-25 17:27:01 -04:00
Scott Shawcroft
bc4c74517a
Merge pull request #3034 from jepler/terminology-cleanup
M/S Terminology cleanup
2020-06-25 10:51:46 -07:00
66d031fc18 make translate and msgmerge 2020-06-25 11:44:42 -05:00
Jeff Epler
e7923c068e docs: Explain our shift in terminology 2020-06-25 11:44:21 -05:00
103ad9966a remove machine_i2c, machine_spi
This micropython code is not used in circuitpython
2020-06-25 11:44:21 -05:00
4f8b37042d README: point at status badge for github actions, and right branch 2020-06-25 11:44:21 -05:00
d82292fa1f README: Remove a statement that's not particularly true at the moment 2020-06-25 11:44:21 -05:00
3c11f6cc05 tests: Remove a test for micropython-specific SPI behavior 2020-06-25 11:44:21 -05:00
1d2cc0b968 I2CPeripheral: Rename class and its module
This is an incompatible change.
2020-06-25 11:44:19 -05:00
9737dd9c30 Scripts: Change wording for pseudoterminals 2020-06-25 11:42:23 -05:00
9110e36636 Use main/selected terminology in docstrings
Also copy some notes from busio docstrings to bitbangio docstrings
2020-06-25 11:42:23 -05:00
2a1c37cf8b locale: Remove Language-Team lines that point nowhere 2020-06-25 11:42:23 -05:00
ce95b9379d Refer to "main" branch of circuitpython 2020-06-25 11:42:23 -05:00
Jeff Epler
07eb7d653c
Merge pull request #3042 from kamtom480/gnss
Add gnss module
2020-06-25 11:08:40 -05:00
Jeff Epler
3abdf744d5
Merge pull request #3064 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-06-25 11:07:41 -05:00
Alvaro Figueroa
f552d854f4 Translated using Weblate (Spanish)
Currently translated at 81.9% (626 of 764 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-06-25 13:55:35 +02:00
Jeff Epler
076a96ccc6
Merge pull request #3046 from jepler/same51
Add basic SAM E54  support and SAM E54 Xplained board
2020-06-25 06:55:27 -05:00
Kamil Tomaszewski
436b15e558 spresense: add elf32.h for mkspk 2020-06-25 10:26:33 +02:00
Scott Shawcroft
d768d4d37a
Merge branch 'main' into gnss 2020-06-24 17:17:43 -07:00
Scott Shawcroft
03e5043af4
Turn off Idle WDT and speed up CPU 2020-06-24 13:10:31 -07:00
Scott Shawcroft
ed6e81d688
Switch SPI to polling DMA and enable displayio 2020-06-24 13:10:08 -07:00
Scott Shawcroft
496e16d99b
Handle memory (hopefully). Short TX works 2020-06-24 12:47:59 -07:00
Scott Shawcroft
c5fa9730a8
Compiles! 2020-06-24 12:47:59 -07:00
Scott Shawcroft
fc9c0ba573
Initial SPI implementation. Almost certainly doesn't compile 2020-06-24 12:47:59 -07:00
Scott Shawcroft
f52f60b17d
Add UF2 build target 2020-06-24 12:47:59 -07:00
Scott Shawcroft
7b56617f8e
Turn off stub so flash works over native usb 2020-06-24 12:47:58 -07:00
Scott Shawcroft
a26102607e
Add UART support 2020-06-24 12:47:58 -07:00
Scott Shawcroft
6f050d7af3
Add pull up testing, proper us delay and stop supporting 45 and 46 for I2C 2020-06-24 12:47:58 -07:00
Scott Shawcroft
ae52d052cb
Fix I2C thanks to Mark! 2020-06-24 12:47:58 -07:00
Scott Shawcroft
d0401f02a9
Add initial I2C support, not quite working fully though 2020-06-24 12:47:58 -07:00
Jeff Epler
87835c77e8
Merge pull request #3038 from jepler/compute-usb-devices
Compute USB_DEVICES instead of requiring it to be specified
2020-06-24 13:31:56 -05:00
Jeff Epler
bf460ddf25
supervisor.mk: Conditionally assign USB_DEVICES
This restores the ability to remove CDC and/or MSC, at the price of
giving up the new automatic check that USB_DEVICES is correct.
Since devices have to have CDC and MSC to be "CircuitPython",
this is not a facility that is going to be used by any in-tree drivers.
2020-06-24 09:44:45 -05:00
Kamil Tomaszewski
1537e7ae77 locale: update translate 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski
ab4c09cea7 gnss: Add timestamp 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski
3509dad5b3 gnss: Remove start and stop 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski
c49f4bcc85 gnss: add a comment about the units 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski
fc8908b6a4 locale: make translate 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski
343f093ead spresense: Add support for GNSS 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski
84f424f631 gnss: Implement new library for GNSS 2020-06-24 11:14:44 +02:00
Jeff Epler
f232aef786 supervisor.mk: Compute USB_DEVICES; remove from boards and ports
Since Actions passed on the previous commit, where this computed value
was checked against the specified value (if any), this is no net change,
except that we no longer need to specify it for particular boards or
ports.
2020-06-23 12:59:01 -05:00
Scott Shawcroft
741e1d9828
Merge pull request #3043 from DavePutz/Issue-2865
Issue #2865 -Clean up after ctrl-c interrupt in sleep
2020-06-23 10:58:45 -07:00
Scott Shawcroft
f67b307371
Merge pull request #3045 from k0d/stm32_alignment_issue
Fixes issue with memory alignment in STM32
2020-06-23 10:54:08 -07:00
DavePutz
b80abf1a90
Update handing of a CTRL-C exception 2020-06-23 12:15:01 -05:00
93d3629da2 stm: Sort configuration options and make them all conditional
This makes them all overridable on the board level, tersely
2020-06-23 11:02:38 -05:00
0110463811 stm: Disable USB MIDI and most USB HID
.. it was not in the USB descriptors anyway (lack of enough endpoints?)
2020-06-23 11:01:36 -05:00
3f112d28e3 mimxrt10xx: Disable USB MIDI
.. it was not in the USB descriptors anyway (lack of enough endpoints?)
2020-06-23 10:57:32 -05:00
458eef052e esp32s2: Disable USB MIDI
.. it was not in the USB descriptors anyway (lack of enough endpoints?)
2020-06-23 10:57:25 -05:00
38659b566c atmel-samd: Finish disabling USB MIDI and/or HID on certain boards 2020-06-23 10:56:27 -05:00
Jeff Epler
d5074220a8 atmel-samd: Add SAM E54 Xplained board
Few peripherals are actually tested.  However, USB, I2C and GPIO seem to work.

Most pins are silkscreened with the "PX00" style, so the board module
only includes the small number that are screened differently.

The default SPI, I2C, and UART are the ones on the EXT2 header.  This is
arbitrary, but the I2C on this connector is shared with the on-board I2C
devices and the PCC header, making it the most versatile.
2020-06-23 10:41:48 -05:00
Jeff Epler
da733c01da atmel-samd: Add support for SAM E54 family MCUs
This introduces the new macro SAM_D5X_E5X.  This is mostly the same
as SAMD51 before, except in a few places where a special case for
SAME54 is required
2020-06-23 10:41:48 -05:00
DavePutz
30a1624d59
Removed unneeded #includes 2020-06-22 20:18:55 -05:00
Scott Shawcroft
0b99baccb8
Merge pull request #3050 from florin-trutiu/loc-ber-m4-base-board
PID request for a new board configuration
2020-06-22 15:09:42 -07:00
Scott Shawcroft
54b66d9484
Merge pull request #3052 from dhalbert/samd51-voltage-check-delay
delay 1ms on SAMD51 when reading processor voltage
2020-06-22 14:29:43 -07:00
DavePutz
65512cef1c
Update tick.c 2020-06-22 15:59:15 -05:00
Dan Halbert
f1a497e293
Merge pull request #3060 from jepler/misc-fixes 2020-06-22 16:16:14 -04:00
d43449a6d6 sparkfun samd51 thing plus: Fix board.I2C()
This had the SDA and SCL pins transposed, so nothing worked.
2020-06-22 10:45:27 -05:00
a7b36f724f circuitpy_defns.mk: Sort several lists of source files
and regularize whitespace in one spot
2020-06-22 10:45:27 -05:00
a770b5a919 never_reset_pin: Move pin validity check before first use of pin number 2020-06-22 10:45:27 -05:00
6638bc32c3 samd: Makefile: Regularize whitespace 2020-06-22 10:45:27 -05:00
8a760b0657 stm: Pin.c: Compute GPIO_PORT_COUNT instead of specifying manually 2020-06-22 10:45:27 -05:00
a580f0f1c4 _pew: move to common-hal
I noticed that this code was referring to samd-specific functionality,
and isn't enabled except in one samd board (pewpew10).  Move it.

There is incomplte support for _pew in mimxrt10xx which then caused build
errors; adding a #if guard to check for _pew being enabled fixes it.
The _pew module is not likely to be important on mimxrt but I'll leave the
choice to remove it to someone else.
2020-06-22 10:45:27 -05:00
5a3a0a5092 stm: Makefile: sort files in SRC_STM32 2020-06-22 10:45:23 -05:00
de14b5b02f flash: Correctly signal error on invalid flash read
This logic was intended to mirror what is done for "write", but
the wrong variable name was repeated twice.
2020-06-22 10:24:21 -05:00
Jeff Epler
1504d9005d
Merge pull request #3057 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-06-22 06:29:37 -05:00
Hosted Weblate
579784c4a0
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2020-06-22 12:36:00 +02:00
Alvaro Figueroa
ac2a4608da
Translated using Weblate (Spanish)
Currently translated at 77.7% (594 of 764 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-06-22 12:35:58 +02:00
Jeff Epler
04c562cae6
Merge pull request #3056 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-06-22 05:35:44 -05:00
Alvaro Figueroa
dff1c07e18
Translated using Weblate (Spanish)
Currently translated at 69.7% (533 of 764 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-06-22 06:41:48 +02:00
DavePutz
182a8733a4
Rework handling of ctrl-c interrupt 2020-06-21 13:28:26 -05:00
sommersoft
5d158d884d ci_check_duplicate_usb_vid_pid.py: change 'whitelist' terminology to 'ignorelist' 2020-06-20 08:44:24 -05:00
sommersoft
023054e67a Merge branch 'main' of https://github.com/adafruit/circuitpython into ci_check_vid_pid 2020-06-20 08:41:41 -05:00
DavePutz
0b52359190
Generate stacktrace and reset exception for ctrl-c interrupt
Added code in mp_hal_delay_ms() to generate stacktrace and reset exception for ctrl-c interrupt
2020-06-19 19:02:43 -05:00
DavePutz
e381f593ff
Moved changes to supervisor/shared/tick.c 2020-06-19 19:00:03 -05:00
Jeff Epler
986664659e
Merge pull request #3041 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-06-19 15:47:57 -05:00
Dan Halbert
1687c8b1e3 delay 1ms on SAMD51 when reading processor voltage 2020-06-19 15:25:04 -04:00
DavePutz
beb80e7545
removed trailing whitespace 2020-06-19 12:38:55 -05:00
DavePutz
99789289d8
Update __init__.c 2020-06-19 12:33:43 -05:00
DavePutz
6a76e1571b
Added stack trace after a sleep ctrl-c interrupt 2020-06-19 12:30:18 -05:00
Florin Trutiu
b316549590 Added the new assigned VID/PID pair 2020-06-19 19:26:29 +03:00
Florin Trutiu
178be2e3c9 loc_ber_m4_base_board 2020-06-19 18:56:20 +03:00
Mark Olsson
23da0fa99c Fixes issue with memory alignment in STM32
When compiling with optimizations on, an issue occurs where the claimed_pins/never_reset_pins memory location is shared with another variable. This causes some bad memory read, so the USB pins ended up being reset. Setting these to have an alignment of 4 bytes resolves this.

Tested on nucleo_f746zg
2020-06-18 00:51:04 +02:00
Andreas Buchen
80fdb18da1 Translated using Weblate (German)
Currently translated at 98.0% (749 of 764 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/de/
2020-06-17 17:56:52 +02:00
Scott Shawcroft
25d5f2cfc6
Merge pull request #3039 from hierophect/stm32-meowbit-uf2-web
STM32: make Meowbit default to UF2 on website
2020-06-17 08:56:45 -07:00
DavePutz
73ce75c3f8
Merge pull request #9 from adafruit/main
update from adafruit
2020-06-16 15:12:15 -05:00
DavePutz
47425f21cc
Handle a sleep exit with ctrl-c 2020-06-16 15:10:23 -05:00
Scott Shawcroft
0e3cad04b7
Merge pull request #3036 from dhalbert/prefix-match-all
Fix ScanEntry prefix matching for any=False
2020-06-16 11:54:05 -07:00
Scott Shawcroft
a345223dac
Merge pull request #3031 from jepler/improve-shared-bindings-links
docs: Improve 5.0.x <-> main branch doc linkrot
2020-06-16 11:49:27 -07:00
Scott Shawcroft
dffac11c2f
Merge pull request #3040 from hierophect/stm32-portd-hotfix
STM32: Add port D to LQFP64
2020-06-16 11:24:28 -07:00
Lucian Copeland
fd4aafacbe Add port D to LQFP64 2020-06-16 12:33:15 -04:00
Lucian Copeland
37793044fc Add meowbit UF2 download override to website 2020-06-16 12:03:56 -04:00
Jeff Epler
8bbd539031 supervisor.mk: Compute what USB_DEVICES should be, and check it against what it is 2020-06-15 19:14:57 -05:00
Dan Halbert
c91435eff2 remove debugging prints 2020-06-15 18:10:34 -04:00
Scott Shawcroft
b3b38c18c5
Merge pull request #3035 from jepler/simplify-checkout
actions: Try checkout v2.2.0
2020-06-15 14:55:24 -07:00
Scott Shawcroft
08c8198fbc
Merge pull request #3033 from jepler/actions-doc-artifact
actions: upload artifacts for stubs & docs
2020-06-15 14:54:22 -07:00
Jeff Epler
7a51719fa2 docs: conf.py: Remove an irrelevant TODO
This TODO made sense in the context of the original project, but for use in
CircuitPython it does not appear to be relevant.  Remove it.
2020-06-15 16:50:43 -05:00
Scott Shawcroft
8ff0a3df42
Merge pull request #3026 from hierophect/stm32-i2cspeed
STM32: Add I2C timing to the F7 and H7 board profile
2020-06-15 14:50:00 -07:00
DavePutz
6fd24725b8
Merge pull request #8 from adafruit/main
update from adafruit
2020-06-15 16:30:08 -05:00
Dan Halbert
81896930c7 Fix ScanEntry prefix matching for all 2020-06-15 16:35:51 -04:00
Jeff Epler
9d5ccccf7d cxd56: Disable HID and MIDI
These are already disabled via the USB_DEVICES setting, but the code is
included anyway.
2020-06-15 15:22:45 -05:00
Jeff Epler
a9614bb964 cxd56: Sort the configuration settings 2020-06-15 15:22:45 -05:00
Lucian Copeland
2aac3cbdce Revert I2C timing overrides, reduce scope to module only 2020-06-15 13:51:09 -04:00
03c04e77ae actions: Try checkout v2.2.0
This version is supposed to
> Fetch all history for all tags and branches when fetch-depth=0

We leave the tags fetch in place so that actions _in cloned repos_
work.  Cloned repos' tags do not necessarily match adafruit/circuitpython,
but we want version reporting to be able to use adafruit/circuitpython
tags when they are most relevant according to "git describe"'s heuristics.

Submodules are different, as they always point to the repo specified
in .gitmodules, so they don't need special handling to get the most
relevant tags.
2020-06-14 19:01:52 -05:00
32a29ffdff shared-bindings: Change docstrings with '\x...' chars to raw strings
Closes: #3032
2020-06-14 13:05:08 -05:00
cb8539b06d docs: Generate redirects for autoapi renaming 2020-06-14 13:04:21 -05:00
f83b0c2507 docs: conf.py: alphabetize imports 2020-06-14 12:56:22 -05:00
3c3cad5ae6 docs: Improve 5.0.x <-> main branch doc linkrot
This improves, but does not entirely fix, the broken links that result
from the autoapi change.  It fixes module-level links, but class links
still do not work (e.g., /shared-bindings/displayio/Palette.html (5.0.x)
is now just /shared-bindings/displayio/#displayio.Palette).
2020-06-14 11:12:35 -05:00
Scott Shawcroft
9285252fbc
Merge pull request #3027 from DavePutz/Issue3014
Issue #3014 Add a refresh when making a displayio palette transparent or opaque
2020-06-11 11:43:25 -07:00
Lucian Copeland
750037a4c4 Merge remote-tracking branch 'upstream/main' into stm32-i2cspeed 2020-06-11 14:28:19 -04:00
Scott Shawcroft
e27f68ffe7
Merge pull request #3025 from hierophect/stm32-f7-startup
STM32: Add DTCM and ITCM support to F7 series
2020-06-11 11:03:48 -07:00
Lucian Copeland
724637faa3 Move I2C speed to clock-style definition 2020-06-11 11:17:51 -04:00
DavePutz
058c16e98c
Issue #3014 - refresh after changing to transparent
Adding     self->needs_refresh = true; in common_hal_displayio_palette_make_opaque() and common_hal_displayio_palette_make_transparent()
2020-06-10 17:11:28 -05:00
DavePutz
8104b42894
Merge pull request #7 from adafruit/main
update fork
2020-06-10 17:07:06 -05:00
Lucian Copeland
c08702414e Add macros for setting correct F7 and H7 I2C timing 2020-06-10 16:36:44 -04:00
Lucian Copeland
bf3a5afca1 Merge branch 'stm32-f7-startup' into stm32-i2cspeed 2020-06-10 16:16:15 -04:00
Lucian Copeland
c88a8e66c6 Minor comment fix 2020-06-10 13:22:21 -04:00
Scott Shawcroft
ca3e55bfab
Merge pull request #3024 from tannewt/main
Update precommit check branch
2020-06-10 09:56:21 -07:00
Lucian Copeland
7cc8b784c3 Add missing openmv definitions 2020-06-10 10:31:24 -04:00
Lucian Copeland
b414f82669 Add DTCM and ITCM support to F7 series 2020-06-09 18:01:52 -04:00
Scott Shawcroft
eeb3825646
Update precommit check branch 2020-06-09 13:04:42 -07:00
Scott Shawcroft
9b8d648986
Merge pull request #3020 from DavePutz/issue2958
Issue #2958 Correct calculation of subticks being returned from port_get_raw_ticks() for esp32s2
2020-06-09 12:41:18 -07:00
DavePutz
ec7a3feeba
Redid formula for calculating subticks
changed subticks calculation to give a range from 0 to 32767.
2020-06-09 10:08:49 -05:00
Scott Shawcroft
0ba541d498
Merge pull request #3017 from Nicell/nice_nano
Add nice!nano board support
2020-06-08 14:47:22 -07:00
Jeff Epler
2de20e06d0
Merge pull request #3002 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-06-08 13:20:02 -05:00
DavePutz
d8bb2d7c6d
Correct ticks being returned from port_get_raw_ticks()
Issue #2958 . Correct calculation of usec back to ticks in port_get_raw_ticks().
2020-06-08 10:52:27 -05:00
DavePutz
ef87cc3ed3
Merge pull request #6 from adafruit/master
updating from adafruit
2020-06-08 10:42:45 -05:00
aberwag
6502ec5dff Translated using Weblate (French)
Currently translated at 100.0% (764 of 764 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-06-08 07:38:03 +02:00
Hosted Weblate
53a1b68649 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/
2020-06-08 07:38:03 +02:00
Jonny Bergdahl
07fa458767 Translated using Weblate (Swedish)
Currently translated at 100.0% (764 of 764 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-06-08 07:38:03 +02:00
Scott Shawcroft
004d644184
Merge pull request #3009 from hierophect/stm32-LSE-startup-fix
STM32: Rework LSE clock init, allow clock overrides
2020-06-07 22:37:53 -07:00
sommersoft
6ff7e25397
Merge pull request #3006 from sommersoft/update_cpboard_py
Fix Backwards Logic of 'wait_for_response' In #3005
2020-06-06 10:52:44 -05:00
Nick
33496e9c68 Add nice!nano board support 2020-06-05 19:58:54 -05:00
arturo182
3cf96a554d
Merge pull request #3015 from hierophect/mimxrt-1060-reset
mimxrt10xx: fix issues with resets on the 1060 boards
2020-06-06 00:41:36 +02:00
Lucian Copeland
93cffaa87e Fix pin macros typo, add extra flash protection 2020-06-05 16:43:08 -04:00
Lucian Copeland
ad0971fb25 Override HAL_Delay and HAL_GetTick 2020-06-05 13:56:32 -04:00
Scott Shawcroft
6400113bb9
Merge pull request #3001 from hierophect/mimxrt-teensy-boot
mimxrt10xx: Disable pin_reset on 1060 boards
2020-06-05 10:28:53 -07:00
Lucian Copeland
a0977cac7b Merge remote-tracking branch 'upstream/master' into stm32-LSE-startup-fix 2020-06-04 16:15:38 -04:00
Lucian Copeland
74effeeefd Add temporary fix warning 2020-06-04 13:30:07 -04:00
Lucian Copeland
d14e34449b Rework LSE clock init, allow clock overrides 2020-06-04 13:21:29 -04:00
sommersoft
1e7ff52bb7 tools/cpboard.py: fix backwards logic of 'wait_for_response' in #3005 2020-06-03 21:51:33 -05:00
Jeff Epler
fffe171d5f
Merge pull request #3005 from sommersoft/update_cpboard_py
Update cpboard.py
2020-06-03 21:17:56 -05:00
sommersoft
074697a89f tools/cpboard.py: run black formatter 2020-06-03 18:01:12 -05:00
sommersoft
cf9da59829 tools/cpboard.py: update pyserial usage to match 3.x version 2020-06-03 17:39:31 -05:00
sommersoft
660081ece2 tools/cpboard.py: change 'async' variable usage; 'async' became a keyword in CPython 3.7 2020-06-03 17:28:08 -05:00
Scott Shawcroft
547beb5d47
Merge pull request #2981 from Flameeyes/master
Set up basic integration with pre-commit.
2020-06-03 12:19:20 -07:00
Scott Shawcroft
01e294536c
Merge pull request #3000 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-06-03 11:59:36 -07:00
Lucian Copeland
c93ccd1e91 Disable pin resets on the 1060 2020-06-03 12:07:08 -04:00
Diego Elio Pettenò
79cd86445e Add a pre-commit configuration to enforce basic file hygiene. 2020-06-03 10:56:35 +01:00
Diego Elio Pettenò
dd5d7c86d2 Fix up end of file and trailing whitespace.
This can be enforced by pre-commit, but correct it separately to make it easier to review.
2020-06-03 10:56:35 +01:00
Diego Elio Pettenò
60df6170cc Update CODE_OF_CONDUCT.md from source-of-truth repository. 2020-06-03 10:43:36 +01:00
Lucian Copeland
b5b9a56918 Update teensy 4.0/4.1 pin protections 2020-06-02 18:05:59 -04:00
Jonny Bergdahl
cc1e5d29c7
Translated using Weblate (Swedish)
Currently translated at 100.0% (764 of 764 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-06-02 23:42:37 +02:00
Scott Shawcroft
5f1398f272
Merge pull request #2995 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-06-02 14:42:30 -07:00
_fonzlate
fa8890f7ba Translated using Weblate (Dutch)
Currently translated at 100.0% (764 of 764 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-06-02 21:50:12 +02:00
048b30d654 Translated using Weblate (French)
Currently translated at 99.8% (763 of 764 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-06-02 21:50:11 +02:00
Hosted Weblate
3f26a56fff Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/
2020-06-02 21:50:11 +02:00
_fonzlate
97f6fbc614 Translated using Weblate (Dutch)
Currently translated at 100.0% (757 of 757 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-06-02 21:50:11 +02:00
Hosted Weblate
96c6fbd10b Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/
2020-06-02 21:50:11 +02:00
Scott Shawcroft
bb3f54a1cd
Merge pull request #2996 from jepler/mixer-bugfixes
audiomixer: Fix garbled playback when voice 0 is stopped, audio pops
2020-06-02 12:50:05 -07:00
Scott Shawcroft
db04fd1725
Merge pull request #2933 from simmel-project/wdt-nrf
Add Watchdog timer and add support for NRF watchdog
2020-06-02 10:33:24 -07:00
Jeff Epler
aae7a459f3
Merge pull request #2997 from xobs/litex-double-init
litex: remove call to `board_init()`
2020-06-02 07:30:38 -05:00
Sean Cross
ed8a52d1db litex: remove call to board_init()
These calls were all moved into `main.c`, however this call was not
removed from litex. As a result, litex was calling `board_init()` twice.

This is currently not a problem, as `fomu` is able to be initialized
twice without issue, however future boards may have issue with this.

This fixes #2991.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-02 10:19:40 +08:00
0722dafc24 audiomixer: Fix garbled playback when voice 0 is stopped, audio pops
There were two main problems
 - word_buffer was being filled as though with unsigned samples,
   but during mixing all samples are kept in signed mode
 - If the first buffer was stopped, the voices_active flag got set
   anyway, even though the output buffer wasn't initialized yet,
   so the samples were mixed with indeterminate data

We also cover the case where no buffer was playing, and ensure
the output buffer is filled.

This now works much better.  Tested on neotrellis m4 playing back
4 mp3 streams at a time in signed-16, 22050Hz
2020-06-01 19:14:38 -05:00
Scott Shawcroft
7e632c9414
Update translations 2020-06-01 17:11:20 -07:00
Scott Shawcroft
959f7297da
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-06-01 17:01:16 -07:00
Scott Shawcroft
e889287f6c
Merge pull request #2992 from jepler/update-ulab
Update ulab
2020-06-01 16:50:53 -07:00
Scott Shawcroft
4146d6f872
Merge pull request #2890 from jepler/nrf-audio-tick
nrf: put supervisor enable/disable tick in place
2020-06-01 15:51:22 -07:00
Scott Shawcroft
dd2cd6f002
Merge pull request #2979 from hierophect/stm32-remove-crystals
STM32: Set correct crystal settings on Discovery boards
2020-06-01 15:21:39 -07:00
Scott Shawcroft
a170c5e13a
Merge branch 'master' into update-ulab 2020-06-01 15:19:21 -07:00
Scott Shawcroft
323cca8910
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-06-01 15:18:12 -07:00
Scott Shawcroft
bdbb16ec83
Merge pull request #2983 from jepler/fix-storage-docs
shared-bindings: Fix docs of storage.VfsFat
2020-06-01 14:36:58 -07:00
Scott Shawcroft
e7abd8a0ab
Merge pull request #2986 from xiongyihui/master
include uf2 firmware for nrf52840 mdk usb dongle
2020-06-01 14:35:58 -07:00
Scott Shawcroft
f4d3c352ae
Merge pull request #2988 from jepler/change-make-translate
Makefile: "make translate" will only update circuitpython.pot
2020-06-01 14:34:45 -07:00
Jeff Epler
2e29f26e53
Merge pull request #2980 from bd34n/flash-device-gd25s512md
.../devices.h: Add GigaDevices GD25S512MD 64 MiB flash chip support.
2020-06-01 11:40:08 -05:00
Jeff Epler
70e99e78b6
Merge pull request #2990 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-06-01 11:38:57 -05:00
Lucian Copeland
75eb44f234 Note temporary issue with Nucleo boards 2020-06-01 12:26:08 -04:00
7f3fd20ea9 ulab: update submodule again 2020-06-01 11:03:38 -05:00
8af77cb91f ulab: docs: Fix markup error 2020-06-01 11:02:51 -05:00
5061405eb3 fix spelling 2020-06-01 09:16:55 -05:00
9f7a874d02 make translate 2020-06-01 09:02:29 -05:00
18c659780e ulab: update
.. add new modules and functions to our shared-bindings stubs
2020-06-01 09:02:29 -05:00
f211a090e2 py.mk: Assume we want all C source files in ulab 2020-06-01 08:26:23 -05:00
1cc281b6a4 py.mk: Assume we want all C files from ulab 2020-06-01 08:20:23 -05:00
81452475e4
Translated using Weblate (Swedish)
Currently translated at 100.0% (748 of 748 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-06-01 15:17:08 +02:00
David Glaude
c909b733a8
Translated using Weblate (French)
Currently translated at 100.0% (748 of 748 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-06-01 15:17:07 +02:00
9cffe28ae7
Translated using Weblate (French)
Currently translated at 100.0% (748 of 748 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-06-01 15:17:07 +02:00
Jeff Epler
cd5577c4d9
Merge pull request #2987 from kamtom480/spresense-raw-ticks
spresense: Fix port_get_raw_ticks
2020-06-01 08:16:59 -05:00
79e2ede7c1 Makefile: "make translate" will only update circuitpython.pot
We can now rely on weblate to regularly update the individual language
files from the template, so "make translate" only needs to update the
template file circuitpython.pot.

This is advantageous because updating the other files in locale/ was
a frequent source of merge conflicts; resolving the conflict incorrectly
was something that could easily occur (and did).
2020-06-01 07:51:57 -05:00
Kamil Tomaszewski
ce337eaa27 Fix port_get_raw_ticks 2020-06-01 11:35:46 +02:00
Yihui Xiong
e0ca70119c include uf2 firmware for nrf52840 mdk usb dongle which has a uf2 bootloader now 2020-06-01 07:13:45 +00:00
89bd87d9fc shared-bindings: Fix docs of storage.VfsFat
This is almost, but not entirely, a whitespace change.

"..." was missing or mis-placed in several places

The invalid syntax 'def f(self, ):' was used in several places.
2020-05-31 10:35:42 -05:00
Jeff Epler
47efd595fc
Merge pull request #2970 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-31 09:19:01 -05:00
_fonzlate
b354c9e2e8
Translated using Weblate (Dutch)
Currently translated at 100.0% (748 of 748 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-31 13:41:40 +02:00
Jonny Bergdahl
a76447ea6c
Translated using Weblate (Swedish)
Currently translated at 100.0% (748 of 748 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-30 04:52:21 +02:00
Brian Dean
cf888dc02b .../devices.h: Add GigaDevices GD25S512MD 64 MiB flash chip support. 2020-05-29 15:40:56 -04:00
Thomas Friehoff
1616f7cf95 Translated using Weblate (German)
Currently translated at 100.0% (748 of 748 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/de/
2020-05-29 20:21:10 +02:00
Hosted Weblate
2303291f38 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/
2020-05-29 20:21:10 +02:00
Jeff Epler
5cd6bb4d56
Merge pull request #2978 from tannewt/fix_merge_translate
Fix merge-translate by starting with 'theirs'
2020-05-29 13:21:04 -05:00
Dan Halbert
4667d4de8c
Merge pull request #2975 from dhalbert/aesio-nrf52840
enable aesio on all nRF52840 boards
2020-05-29 14:07:30 -04:00
Lucian Copeland
0fe7efdf36 Set correct crystal settings on Discovery boards 2020-05-29 14:01:34 -04:00
Scott Shawcroft
ddcae19254
Merge pull request #2964 from hierophect/mimxrt-busio-cleanup
mimxrt10xx: Busio cleanup and bugfixes
2020-05-29 10:42:16 -07:00
Scott Shawcroft
0e6813d084
Fix merge-translate by starting with 'theirs' 2020-05-29 10:17:42 -07:00
Scott Shawcroft
2fd7a43f2f
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-05-29 10:16:24 -07:00
Lucian Copeland
fe75c7793c Fix SWO/Analog overlap, style changes 2020-05-29 12:19:37 -04:00
Dan Halbert
0d2fee95e2 enable aesio on all nRF52840 boards 2020-05-29 11:06:30 -04:00
Dan Halbert
7ea95457ee
Merge pull request #2974 from tannewt/esp32s2_spill
Spill registers before scanning the stack.
2020-05-28 22:10:46 -04:00
Dan Halbert
6ace4ee7e8
Merge pull request #2968 from jepler/more-efficient-translation
More efficient translation
2020-05-28 21:37:45 -04:00
Scott Shawcroft
2fb4fa3289
Spill registers before scanning the stack.
From the change:

    // xtensa has more registers than an instruction can address. The 16 that
    // can be addressed are called the "window". When a function is called or
    // returns the window rotates. This allows for more efficient function calls
    // because ram doesn't need to be used. It's only used if the window wraps
    // around onto itself. At that point values are "spilled" to empty spots in
    // the stack that were set aside. When the window rotates back around (on
    // function return), the values are restored into the register from ram.

    // So, in order to read the values in the stack scan we must make sure all
    // of the register values we care about have been spilled to RAM. Luckily,
    // there is a HAL call to do it. There is a bit of a race condition here
    // because the register value could change after it's been restored but that
    // is unlikely to happen with a heap pointer while we do a GC.

Fixes #2907
2020-05-28 18:34:14 -07:00
Dan Halbert
d98151a434
Merge pull request #2972 from tannewt/esp32s2_fixes1
A number of small ESP32S2 fixes
2020-05-28 19:25:53 -04:00
Scott Shawcroft
796373b8be
A number of small ESP32S2 fixes:
* Fix flash writes that don't end on a sector boundary. Fixes #2944
* Fix enum incompatibility with IDF.
* Fix printf output so it goes out debug UART.
* Increase stack size to 8k.
* Fix sleep of less than a tick so it doesn't crash.
2020-05-28 15:43:55 -07:00
Scott Shawcroft
a9419b5d46
Update ESP IDF 2020-05-28 15:38:48 -07:00
Scott Shawcroft
b901def8b3
Merge pull request #2967 from jepler/fix-translation-merge-error
locale:  Restore translations lost in 357467022
2020-05-28 11:52:18 -07:00
d0f9b5901e translations: document the compressed format 2020-05-28 11:30:46 -05:00
Lucian Copeland
9ee278d2ac Merge remote-tracking branch 'upstream/master' into mimxrt-busio-cleanup 2020-05-28 12:24:37 -04:00
Lucian Copeland
fd00bb8b7f Fix pin reset flash conflict error 2020-05-28 12:15:21 -04:00
fe3e8d1589 string compression: save a few bits per string
Length was stored as a 16-bit number always.  Most translations have
a max length far less.  For example, US English translation lengths
always fit in just 8 bits.  probably all languages fit in 9 bits.

This also has the side effect of reducing the alignment of
compressed_string_t from 2 bytes to 1.

testing performed: ran in german and english on pyruler, printed messages
looked right.

Firmware size, en_US
Before: 3044 bytes free in flash
After: 3408 bytes free in flash

Firmware size, de_DE (with #2967 merged to restore translations)
Before: 1236 bytes free in flash
After: 1600 bytes free in flash
2020-05-28 08:36:08 -05:00
f3ac3ead8d make translate 2020-05-27 20:52:07 -05:00
Sean Cross
198f9579f3
Merge pull request #1 from tannewt/wdt-nrf
Merge and a few final tweaks
2020-05-28 09:36:41 +08:00
3ecd8cbd20 locale: Restore translations lost in 357467022 Merge pull request #2931 from tannewt/esp32s2_digitalio 2020-05-27 20:28:58 -05:00
sommersoft
f72d166e51
Merge pull request #2965 from jepler/sine-wave-examples
Various doc examples:  Fix the "/ 18" copypasta bug
2020-05-27 20:24:36 -05:00
sommersoft
c7b6d35fd4 ci_check_duplicate_usb_vid_pid.py: update docstring; moved to sys.exit from raising RuntimeError 2020-05-27 19:08:56 -05:00
sommersoft
8e64b12408 build.yml: add step to run tools/ci_check_duplicate_usb_vid_pid.py 2020-05-27 16:54:52 -05:00
sommersoft
de0afcdf2d add ci_check_duplicate_usb_vid_pid.py; checks that a new board doesn't use duplicate USB VID/PID values unless explicitly whitelisted to do so 2020-05-27 16:51:57 -05:00
90571e7b7f Various doc examples: Fix the "/ 18" copypasta bug 2020-05-27 16:43:35 -05:00
Scott Shawcroft
1ed4978620
Remove NONE from mode enum and doc tweaks 2020-05-27 10:58:21 -07:00
Scott Shawcroft
9380c34cf7
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-05-27 10:47:08 -07:00
Scott Shawcroft
0db8b888d3
Merge pull request #2934 from hierophect/mimxrt-uart-oneway
mimxrt10xx: add one-directional UART
2020-05-27 10:38:00 -07:00
Scott Shawcroft
7cd92dd94c
Merge pull request #2899 from dherrada/extract-types
Added extract_types.py script
2020-05-27 10:35:53 -07:00
Dan Halbert
820d5092b3
Merge pull request #2963 from adafruit/hiibot-bluefi-pid-fix
Correct HiiBot BlueFi USB_PID
2020-05-27 12:49:45 -04:00
Lucian Copeland
a59798ed49 Merge branch 'mimxrt-uart-oneway' into mimxrt-busio-cleanup 2020-05-27 12:31:16 -04:00
Lucian Copeland
9a9cb2e7d3 fix submodule desync 2020-05-27 11:59:13 -04:00
Lucian Copeland
2f6e1d85d2 more translations 2020-05-27 11:55:33 -04:00
Lucian Copeland
9f5520135c translations 2020-05-27 11:54:52 -04:00
Lucian Copeland
a25e10ed59 Merge branch 'mimxrt-uart-oneway' of https://github.com/hierophect/circuitpython into mimxrt-uart-oneway 2020-05-27 11:49:11 -04:00
Lucian Copeland
1e914ac2b0 Change exception text and type 2020-05-27 11:48:52 -04:00
Dan Halbert
d06a7c4671
Correct HiiBot BlueFi USB_PID
Donated a PID set for HiiBot BlueFi.
2020-05-27 11:47:15 -04:00
Lucian Copeland
53fb699436 Add pin resetting across boards, fix array size detection issue 2020-05-27 11:45:15 -04:00
dherrada
4e22b9a346 Better keyerror handling 2020-05-27 11:30:51 -04:00
arturo182
ad988013f0
Merge pull request #2961 from arturo182/i2c-exception
mimxrt10xx: Change exception type to match other ports
2020-05-27 11:24:46 +02:00
Sean Cross
aa0445228b locale: generate strings for watchdog timer
Run `make translate` to generate strings for `shared-bindings/watchdog`.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:38:38 +08:00
Sean Cross
aac5a4f178 watchdog: use common_hal_watchdog_* pattern
This pulls all common functionality into `shared-bindings` and keeps
platform-specific code inside `nrf`. Additionally, this performs most
validation in the `shared-bindings` site.

The only validation that occurs inside platform-specific `common-hal`
code is related to timeout limits that are platform-specific.

Additionally, all documentation is now inside the `shared-bindings`
directory.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:38:29 +08:00
Sean Cross
dbf1bef56a watchdog: support catching the timeout
With this patch, the exception can now be caught:

    import microcontroller
    import watchdog
    import time

    wdt = microcontroller.watchdog
    wdt.timeout = 5

    while True:
        wdt.mode = watchdog.WatchDogMode.RAISE
        print("Starting loop -- should exit after five seconds")
        try:
            while True:
                time.sleep(10)
                # pass # This also works for a spinloop
        except watchdog.WatchDogTimeout as e:
            print("Watchdog Expired (PASS)")
        except Exception as e:
            print("Other exception (FAIL)")
    print("Exited loop")

This prints:

    Starting loop -- should exit after five seconds
    Watchdog Expired (PASS)
    Starting loop -- should exit after five seconds
    Watchdog Expired (PASS)
    Starting loop -- should exit after five seconds
    Watchdog Expired (PASS)

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross
e470376c12 nrf: add ticks (not subticks) to overflow count during reset
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross
296ba101ec nrf: set WDT priority to 2
The previous setting of `1` meant that the bluetooth system couldn't be
used when the watchdog timer was enabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross
d0f1b59be5 nrf: pca10100: disable some unused features to shrink image
This removes some features that are largely unused in order to get the
image to fit.

Recommended in
https://github.com/adafruit/circuitpython/pull/2933#issuecomment-632859678

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross
33001f4e19 nrf: simmel: shrink filesystem to fit watchdog timer
The watchdog timer has increased the amount of code and text that's
required.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross
daf7c2857d nrf: port: save rtc value across reboots
As part of the reset process, save the current tick count to an
uninitialized memory location.  That way, the current tick value will be
preserved across reboots.

A reboot will cause us to lose a certain number of ticks, depending on
how long a reboot takes, however if reboots are infrequent then this
will not be a large amount of time lost.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
5edc29c6a5 nrf: microcontroller: use port reset path
For `microcontroller.reset()`, don't manually call NVIC_SystemReset().
Instead, call the `port_reset()` in case the port wants to do any
cleanup.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
c7efc94a33 watchdog: move timeout exception to shared-bindings
Make this exception globally available to all platforms that have
enabled the watchdog timer.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
c5c13a8ba1 nrf: reset watchdog as part of port_reset()
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
108409c6cd nrf: common-hal: finish reworking exceptions
This finishes the rework of the exception handler, which is once
again stored inside the watchdog timer module.

This also implements a `watchdog_reset()` that is used to disable the
RAISE watchdog, if one is enabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
15530a69c7 supervisor: tick: check for watchdog exception if enabled
Check to see if the current exception is a Watchdog exception, if it's
enabled. This ensures we break out of the current sleep() if a watchdog
timeout hits.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
bd086a102e Revert "add WatchDogTimeout exception"
This reverts commit 561e7e619095869f58fc728d428f3ff20e8bfc40.
2020-05-27 11:28:49 +08:00
Sean Cross
589cb1af6d nrf: watchdog: use nrfx_wdt driver
Instead of directly poking registers, use `nrfx_wdt`.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
e738f5eaa1 nrf: boot into safe mode sometimes for watchdog reset
If the watchdog resets the system and we're plugged into USB, boot into
safe mode.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
8c5df5f732 supervisor: add a new WATCHDOG_RESET safe mode reason
This mode will be used if the board is reset due to the watchdog
expiring.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
08362c9cab watchdogtimer: refactor to new api
This refactors the WatchDogTimer API to use the format proposed in
https://github.com/adafruit/circuitpython/pull/2933#issuecomment-632268227

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
ec99dae953 tick: break on watchdog timeout exception
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
ae950bc050 add WatchDogTimeout exception
This adds an exception to be raised when the WatchDogTimer times out.

Note that this currently causes a HardFault, and it's not clear why it's
not behaving properly.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
0169ea5155 nrf: discard arm exception sections
Since these exceptions are unused, don't include them in the output
binary.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
87737fb50a watchdog: fix documentation build error
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
8f46133917 nrf: watchdog: implement software watchdogtimer
This adds a software WatchDogTimer implementation that can be used for
testing.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
595f6387c2 watchdog: rename module from wdt and move to microcontroller
This also places it under the `microcontroller` object.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross
c23f151b6b nrf: enable wdt for all platforms
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Sean Cross
fbe1c05832 nrf: simmel: enable wdt support
This enables WDT support for Simmel. Other platforms cannot yet use
WDT because it overflows their flash storage.

Enable CIRCUITPY_WDT support for the nrf target.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Sean Cross
abd01c5fbb nrf: add watchdog module
Add common-hal bindings to allow the watchdog module to be used
on nrf platforms.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Sean Cross
f4719609f7 wdt: add watchdog support
This adds shared bindings for a watchdog timer, based on the API
provided by micropython.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Sean Cross
17ef2df2ca nrf: ld: add ARM.exidx to output image
With the WDT changes, building Circuit Python results in the following error:

/opt/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: section .ARM.exidx LMA [00000000000621c8,00000000000621cf] overlaps section .data LMA [00000000000621c8,0000000000062383]

This is because unwinding data is getting generated, but has nowhere to go.
Re-enable this data in the linker script so it is saved.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Jeff Epler
739b42e3e0
Merge pull request #2960 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-26 19:42:42 -05:00
Hosted Weblate
51edfb992a
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/
2020-05-27 01:18:54 +02:00
d8608e5229 Translated using Weblate (French)
Currently translated at 100.0% (747 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-27 01:18:53 +02:00
Dan Halbert
3574670226
Merge pull request #2931 from tannewt/esp32s2_digitalio
Finish digitalio and pin use tracking for ESP32S2
2020-05-26 19:18:45 -04:00
Scott Shawcroft
c917270da7
Merge pull request #2956 from hathach/fix-samd-wfi
fix racing issue for SAMD when executing WFI
2020-05-26 14:54:24 -07:00
Scott Shawcroft
ffe0e0edc3
Merge pull request #2938 from DavePutz/issue2894
Add an increment to tcc_refcount to allow deinit to work correctly
2020-05-26 14:39:59 -07:00
Scott Shawcroft
f3e1c8fd36
Merge pull request #2954 from rhooper/pixelbuf_rgbw_fix
Allow setting RGBW pixels with RGB tuples
2020-05-26 13:38:09 -07:00
arturo182
d6c59c4de0 mimxrt10xx: Change exception type to match other ports 2020-05-26 22:36:30 +02:00
Scott Shawcroft
665fe7a839
Merge pull request #2945 from pewpew-game/fluff_m0
Add support for Fluff M0
2020-05-26 13:18:55 -07:00
sommersoft
86a5a6d646
Merge pull request #2957 from jepler/support-matrix-invoke-make
shared_bindings_matrix: Work from parsed 'make' output
2020-05-26 15:13:09 -05:00
Scott Shawcroft
2ffd70417d
Merge remote-tracking branch 'adafruit/master' into esp32s2_digitalio 2020-05-26 13:09:57 -07:00
Dan Halbert
19f0d82048
Merge pull request #2955 from BradChan/master
Add hiibot_bluefi board definitions
2020-05-26 15:37:35 -04:00
9966bf86da shared_bindings_matrix: sommersoft's suggestions 2020-05-26 09:55:23 -05:00
Radomir Dopieralski
8371eb27bd Add Fluff M0 to boards 2020-05-26 03:32:12 +02:00
Radomir Dopieralski
4974c933b1 Fix swapped SCK and MISO in Fluff M0 2020-05-26 03:29:05 +02:00
8f81beea7e shared_bindings_matrix: Use a trivial target
Sommersoft noticed that without submodules (as RTD currently does),
the "make -qp" failed due to trying to find files within submodules.

The "print-VAR" target doesn't have any dependencies, so it sidesteps
the problem.

If we move ulab's pyi files into the submodule, though, we'll need to
fetch submodules anyway during doc building.
2020-05-25 13:46:30 -05:00
76149ebf57 Remove board_chip logic
Not sure why I moved it, the computed value is never required
2020-05-25 09:59:13 -05:00
894bb3c003 Add esp32s2, litex to SUPPORTED_PORTS, sort it 2020-05-25 09:58:57 -05:00
Jeff Epler
6356e0c2f1
Merge pull request #2942 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-25 09:56:24 -05:00
32de8b437c shared_bindings_matrix: Work from parsed 'make' output
Revisiting this because I noticed the support matrix said that pyruler
had several modules it obviously didn't, such as the recently added
vectorio.

It is less error-prone because we can use the final values instead
of re-coding the Makefile logic in python.  The only things we need
to do are invoke make in "print-database" mode, then chase any
indirect references like CIRCUITPY_VECTORIO = $(CIRCUITPY_DISPLAYIO)

It does take longer, about 45s on my laptop.
2020-05-25 09:50:24 -05:00
Dustin Watts
ece892299a Translated using Weblate (Dutch)
Currently translated at 100.0% (747 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-25 15:52:04 +02:00
_fonzlate
fa377fdcba Translated using Weblate (Dutch)
Currently translated at 100.0% (747 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-25 15:52:04 +02:00
dronecz
ef4292c1b8 Translated using Weblate (Czech)
Currently translated at 2.0% (15 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/cs/
2020-05-25 15:52:04 +02:00
Hosted Weblate
7d26240444 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/
2020-05-25 15:52:04 +02:00
_fonzlate
e62880a594 Translated using Weblate (Dutch)
Currently translated at 100.0% (747 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-25 15:52:04 +02:00
Timon
8e06b6f964 Translated using Weblate (German)
Currently translated at 100.0% (747 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/de/
2020-05-25 15:52:04 +02:00
_fonzlate
e14b064cbb Translated using Weblate (Dutch)
Currently translated at 99.8% (746 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-25 15:52:04 +02:00
Dustin Watts
5820a6a700 Translated using Weblate (Dutch)
Currently translated at 99.8% (746 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-25 15:52:04 +02:00
Timon
b35ab3effb Translated using Weblate (German)
Currently translated at 85.8% (641 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/de/
2020-05-25 15:52:04 +02:00
Dan Halbert
f1436410bd
Merge pull request #2951 from jepler/remove-modules-to-fit-translations
Remove modules to fit translations
2020-05-25 09:51:57 -04:00
hathach
e79340601f fix racing issue for SAMD when executing WFI 2020-05-25 20:51:02 +07:00
cyz
8e24d1f4b7 Add hiibot_bluefi board in build.yml 2020-05-25 14:59:36 +08:00
Roy Hooper
d13d0244ec Adjust docs to reflect behaviour. 2020-05-24 20:39:53 -04:00
Roy Hooper
dd980249c6 Allow setting RGBW pixels with RGB tuples 2020-05-24 20:35:13 -04:00
Jeff Epler
37a7cf9934
Merge pull request #2941 from dunkmann00/pixelbuf-negative-step-slice
Implement negative step for pixelbuf slices
2020-05-23 22:23:43 -05:00
Jeff Epler
c09f0c888b
Merge pull request #2943 from jerryneedell/jerryn_esp32s2_make
allow PORT specification for esp32s2 flashing
2020-05-23 22:22:47 -05:00
Jeff Epler
5cffd7e88d trinket_m0_haxpress: disable RTC to make build fit with upcoming translations 2020-05-23 20:48:38 -05:00
Jeff Epler
eb85304d04 escornabot: disable RTC to make build fit with upcoming translations 2020-05-23 20:48:38 -05:00
Jeff Epler
03866c0598 meowmeow: disable modules to make build fit with upcoming translations 2020-05-23 20:41:25 -05:00
Jeff Epler
2ed40075a5 pyruler: disable RTC to make build fit with upcoming translations 2020-05-23 20:36:33 -05:00
Jeff Epler
285eb71db6
Merge pull request #2947 from jepler/disable-idf-cache
actions: Don't skip trying to (re)install idf tools
2020-05-23 11:13:17 -05:00
51bed1e7df do-nothing commit to retrigger CI 2020-05-23 09:53:46 -05:00
6a5eabaa26 actions: Don't skip trying to (re)install idf tools
We were seeing actions failures where the cache would be restored
"successfully" but then "Install CircuitPython deps" would fail:

    # Step "Fetch IDF tool cache"
    Cache Size: ~247 MB (259277989 B)
    /bin/tar -xz -f /home/runner/work/_temp/a990f24d-c365-4685-b739-10e052812c81/cache.tgz -C /home/runner/work/circuitpython/circuitpython/.idf_tools
    Cache restored from key: Linux-idf-tools-731ed12bcdfbfa8b5dd37e03703992271b3ce85dd629e45130f80f43b84ce3a8
    ...
    # Step "Install CircuitPython deps"
    Adding ESP-IDF tools to PATH...
    Not using an unsupported version of tool cmake found in PATH: 3.17.0.

I checked locally, and (even when dist/* is removed) it is very quick to
run each of the `idf_tools install` steps, about 2s total.

Try doing this to see whether it fixes the CI problems.
2020-05-23 08:36:29 -05:00
George Waters
c592a2b4db
Simplify pixelbuf set_pixels function 2020-05-22 21:19:17 -04:00
George Waters
f078055f59
Use mp_int_t for setting pixelbuf slice indices
When handling negative steps, start and stop need to be mp_int_t so they
can be checked against a potential negative value during the for loop
used to set the slice values.
2020-05-22 16:28:09 -04:00
Lucian Copeland
d95022f7bb Merge remote-tracking branch 'upstream/master' into mimxrt-busio-cleanup 2020-05-22 13:33:08 -04:00
Radomir Dopieralski
4c01ddcbab Add support for Fluff M0 2020-05-22 18:51:12 +02:00
hierophect
fe10a45533
Merge branch 'master' into mimxrt-uart-oneway 2020-05-22 11:32:41 -04:00
Lucian Copeland
75b5142954 Minor style changes and translations 2020-05-22 11:31:52 -04:00
jerryneedell
93df3b89e8 allow PORT specifcation for esp32s2 flashing 2020-05-22 09:54:29 -04:00
George Waters
16ffc731f3
Implement negative step for pixelbuf slices 2020-05-21 21:57:45 -04:00
dherrada
67cb48acbf Added another except 2020-05-21 18:21:32 -04:00
Scott Shawcroft
eea01c32b8
Merge pull request #2868 from xobs/fix-usb-sleep-nrf
Fix usb sleep for NRF
2020-05-21 10:24:11 -07:00
DavePutz
2e05f628f0
Add an increment to tcc_refcount to allow deinits to work properly 2020-05-21 11:08:26 -05:00
DavePutz
1f40f9e04f
Merge pull request #5 from adafruit/master
update from adafruit
2020-05-21 11:05:24 -05:00
Scott Shawcroft
3bb6a32a20
Merge branch 'master' into esp32s2_digitalio 2020-05-21 08:52:39 -07:00
Sean Cross
67cf005ee5 nrf: nvm: assume sd is not enabled if interrupts are off
If interrupts are disabled, then calling sd_* functions will hardfault.
Instead, assume that it's safe to write if interrupts are disabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 22:04:20 +08:00
Sean Cross
fd4ef233c6 nrf: port: add memory barrier before wfi
ARM recommends issuing a DSB instruction propr to issuing WFI, as it is
required on many parts suchas Cortex-M7. This is effectively a no-op on
the Cortex-M4 used in most NRF parts, however it ensures that we won't
be surprised when new parts come out.

See
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0321a/BIHICBGB.html
for more information.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 21:46:37 +08:00
Sean Cross
77cf4dce8f nrf: disable interrupts before running wfi
In order to ensure we don't have any outstanding requests, disable
interrupts prior to issuing `WFI`.

As part of this process, check to see if there are any pending USB
requests, and only execute the `WFI` if there is no pending data.

This fixes #2855 on NRF.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 21:43:52 +08:00
Sean Cross
d1a7fdd9d4 supervisor: support debugging tinyusb
Allow for passing `-DCFG_TUSB_DEBUG=1` or `-DCFG_TUSB_DEBUG=2` on the
command line to enable debugging tinyusb within circuitpython.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 21:35:30 +08:00
Sean Cross
5ed4e4d0ab lib: tinyusb: update to get tud_task_is_queue_empty
This update gives us access to a function we can run with interrupts
disabled to determine if the queue is empty.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 21:34:44 +08:00
Dan Halbert
edc5d8938e
Merge pull request #2937 from jpecor/evo_m51
Add support for Alorium Technology Evo M51 board
2020-05-21 08:57:39 -04:00
jason
4f54514be4 Initial version 2020-05-20 21:11:06 -05:00
Jeff Epler
54a38fdf01
Merge pull request #2936 from dunkmann00/pixelbuf-slice-fix
Fix error when getting a pixelbuf slice
2020-05-20 19:15:10 -05:00
Jeff Epler
709d3230a5
Merge pull request #2935 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-20 19:12:08 -05:00
George Waters
02d0881fca
Fix error when getting a pixelbuf slice 2020-05-20 17:56:08 -04:00
Jonny Bergdahl
cee4286637 Translated using Weblate (Swedish)
Currently translated at 100.0% (747 of 747 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-20 20:39:22 +02:00
Scott Shawcroft
c32214ccc7
Merge pull request #2932 from simmel-project/nrf-rtc-reset
nrf: reset rtc as part of port_reset()
2020-05-20 11:39:16 -07:00
Scott Shawcroft
a43876ad1e
Fix esp wrover 2020-05-20 11:37:29 -07:00
Scott Shawcroft
0af5dd59f2
Merge pull request #2898 from hierophect/mimxrt-claiming
MIMXRT: Implement pin claiming, pin reset, and pin protections
2020-05-20 11:32:22 -07:00
Scott Shawcroft
8a42c33dca
Add top level merge-translate target 2020-05-20 10:49:01 -07:00
Scott Shawcroft
ba724fffb4
Merge remote-tracking branch 'adafruit/master' into esp32s2_digitalio 2020-05-20 10:48:27 -07:00
Lucian Copeland
42baf0061b translations 2020-05-20 13:28:17 -04:00
Lucian Copeland
66c09efae2 Add UART one-way instance search, fix bugs in stm32 implementation 2020-05-20 12:48:01 -04:00
Scott Shawcroft
fd0420d432
Update digitalio api for other ports 2020-05-20 09:23:42 -07:00
Scott Shawcroft
0543a64dc1
Update translations 2020-05-20 08:55:32 -07:00
Sean Cross
4cca455c9b nrf: reset rtc as part of port_reset()
On NRF, the `rtc_reset()` function is never called.  As a result,
calls to `time.time()` return a cryptic error>

```
>>> import time
>>> time.time()
'' object has no attribute 'datetime'
>>>
```

This is because `MP_STATE_VM(rtc_time_source)` is not initialized
due to `rtc_reset()` never being called.

If `CIRCUITPY_RTC` is enabled, call `rtc_reset()` as part of the
`reset_port()` call. This ensures that `time.time()` works as expected.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-20 16:44:18 +08:00
Scott Shawcroft
80517c4cf6
First try at critical section support 2020-05-19 17:49:17 -07:00
Scott Shawcroft
49090d1378
Fully implement digitalio and pin-in-use tracking.
Fixes #2901
2020-05-19 17:46:29 -07:00
Scott Shawcroft
916ca9f8a6
Merge pull request #2910 from tannewt/esp32s2
Add initial ESP32S2 support
2020-05-19 12:53:23 -07:00
Lucian Copeland
38fd9c25f2 Re-add APA102 2020-05-19 15:33:34 -04:00
sommersoft
bdc5a6b7c0
Merge pull request #2928 from tannewt/fix_rtd_autoapi
Fix ReadTheDocs after switching to stubs + autoapi.
2020-05-19 14:19:52 -05:00
dherrada
58b07ecb43 Removed a 2020-05-19 14:50:47 -04:00
Scott Shawcroft
acf4b1bede
Remove reverse methods from per-board defs 2020-05-19 11:43:57 -07:00
Jeff Epler
09abd3d95d
Merge pull request #2927 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-19 13:27:03 -05:00
Lucian Copeland
b310b04007 Remove pin/port distinction 2020-05-19 14:20:07 -04:00
Scott Shawcroft
9eb85a5feb
shrink Xinabox CS11 by turning off unused pins 2020-05-19 10:55:02 -07:00
Lucian Copeland
2acd173e14 Implement core requested changes 2020-05-19 13:54:47 -04:00
Hosted Weblate
dbb304f4cf
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/
2020-05-19 19:40:03 +02:00
Scott Shawcroft
1d77000c19
Update doc deps 2020-05-19 10:30:47 -07:00
Dustin Watts
f874e21ad7 Translated using Weblate (Dutch)
Currently translated at 52.5% (392 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-19 19:08:30 +02:00
Dustin Watts
bbe6ed5319 Translated using Weblate (Dutch)
Currently translated at 5.3% (40 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-19 19:08:30 +02:00
Dustin Watts
ebea4d158d Translated using Weblate (Dutch)
Currently translated at 4.9% (37 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/nl/
2020-05-19 19:08:30 +02:00
2f3a6773fc Added translation using Weblate (Dutch) 2020-05-19 19:08:30 +02:00
Scott Shawcroft
4e5df0e36d
Merge pull request #2919 from simmel-project/bleio-anonymous-advertising
_bleio: support anonymous advertising
2020-05-19 10:08:18 -07:00
DavePutz
7fa5009674
Merge pull request #4 from adafruit/master
merge from adafruit
2020-05-19 10:32:32 -05:00
Sean Cross
c1bcc25b88 nrf: _bleio: clean up timeout calculation
The timeout value is calculated by the common-hal layer now, so we don't
need to be quite so clever about calculating it here.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19 21:56:39 +08:00
Sean Cross
f56188c261 locale: regenerate translations for new bleio msg
There is now an adapter timeout message.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19 15:01:38 +08:00
Sean Cross
34f91f01c6 bleio: adapter: add advertising timeout and status
Add a field to allow specifying a timeout when initiating advertising.
As part of this, add a new property to determine if the device is still
advertising.

Additionally, have the `anonymous` property require a timeout, and set
the timeout to the maximum possible value if no timeout is specified.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19 15:01:19 +08:00
Sean Cross
cfe65742a3 _bleio: support anonymous advertising
Add a new parameter to the `start_advertising()` function to enable
anonymous advertising.  This forces a call to `sd_ble_gap_privacy_set()`
with `privacy_mode` set to `BLE_GAP_PRIVACY_MODE_DEVICE_PRIVACY` and
`private_addr_type` set to
`BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE`.

With this, addresses will cycle at a predefined rate (currently once
every 15 minutes).

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19 15:01:18 +08:00
Scott Shawcroft
2c2b53303d
Merge pull request #2837 from k0d/serial-debug
Add support for a debug console, such as ST-Link VCP.
2020-05-18 18:13:31 -07:00
Scott Shawcroft
03b6f7b87b
Add commend about FreeRTOS stack canary 2020-05-18 17:28:13 -07:00
Scott Shawcroft
164628282d
Update TinyUSB and shorten USB task delay 2020-05-18 17:27:49 -07:00
Mark Olsson
007c92ee6a Enable showing the console on a debug uart 2020-05-19 02:02:52 +02:00
Scott Shawcroft
cf690bd390
Merge remote-tracking branch 'adafruit/master' into esp32s2 2020-05-18 16:46:41 -07:00
Scott Shawcroft
1e9436519b
Fix ReadTheDocs after switching to stubs + autoapi. 2020-05-18 16:29:15 -07:00
dherrada
0fa5f6a0dd Merge branch 'extract-types' of https://github.com/dherrada/circuitpython into extract-types 2020-05-18 19:01:50 -04:00
dherrada
cf524cb6b1 extract_pyi no longer raises a TypeError for missing types 2020-05-18 18:59:14 -04:00
Scott Shawcroft
32617d5f2f
Merge pull request #2925 from arturo182/imx-spi
mimxrt1010: Increase max SPI speed
2020-05-18 15:22:42 -07:00
Scott Shawcroft
ebfc1f2599
Merge pull request #2926 from arturo182/imx-temperature-fix
mimxrt10xx: Fix cpu.temperature crash
2020-05-18 15:20:21 -07:00
Scott Shawcroft
962c320adf
Merge pull request #2917 from jepler/weblate-readme
add weblate status badge in readme
2020-05-18 15:17:00 -07:00
Scott Shawcroft
af68ddebef
Merge pull request #2924 from simmel-project/nrf-rtc-persist
NRF: Persist RTC offset across reboots
2020-05-18 15:06:42 -07:00
Scott Shawcroft
9811c1fe4b
Merge pull request #2896 from theacodes/add-bytearray-decode
Add bytearray.decode() for CPython compatibility
2020-05-18 14:38:45 -07:00
Scott Shawcroft
2e950a059c
Merge pull request #2888 from WarriorOfWire/vectorio-polygon-speed
vectorio: speed up polygon
2020-05-18 14:37:05 -07:00
warriorofwire
a78f245ea6 translations for polygon 2020-05-18 13:33:16 -07:00
warriorofwire
dde66cadde remove a duplication in polygon.c 2020-05-18 13:32:06 -07:00
warriorofwire
4bbb80e31a vectorio: speed up polygon
This change takes polygon from 126k pixels per second fill to 240k pps fill
  on a reference 5 point star 50x66px polygon, updating both location and shape
  at 10hz.  Tested on an m4 express feather.

As a curiosity, the flat-out fill rate of a shape whose get_pixel is `return 0;`
  fills just shy of 375k pixels per second.
2020-05-18 13:32:06 -07:00
arturo182
058a73128c mimxrt10xx: Fix cpu.temperature crash
Fixes #2514
2020-05-18 22:30:50 +02:00
arturo182
f92d53eaab mimxrt1010: Increase max SPI speed 2020-05-18 22:07:38 +02:00
Sean Cross
9f7c26c60d nrf: port: call common_hal_rtc_init() during init
Call the new function to set the RTC, or reset it if the offset is not
valid.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:30 +08:00
Sean Cross
83680c41db nrf: rtc: persist rtc offset across reboots
Store the RTC value in the .uninitialized section, but make sure to
flank it with some known values.  That way we can determine if the RTC
value has been initialized, or if it's random uninitialized garbage.

As part of this, add a `common_hal_rtc_init()` routine to determine if
the value is correct, or reset it to 0 if it is not valid.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:27 +08:00
Sean Cross
3b5f5ddaa6 nrf: port: move saved word into .uninitialized section
Circuit Python supports saving a single word of data across reboots.
Previously, this data was placed immediately following the .bss.

However, this appeared to not work, as Circuit Python zeroes out the
heap when it starts up, and the heap begins immediately after the .bss.

Switch to using the new .uninitialized section in order to store this
word across resets.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:25 +08:00
Sean Cross
192bb155fa nrf: port: move the heap after .uninitialized
Previously, it was placed following .bss.  However, now that there is a
new section after .bss, the heap must be moved forward.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:20 +08:00
Sean Cross
f002c784c0 nrf: linker: add a new .uninitialized section
This section immediately follows the .bss section, and is designed to
contain uninitialized variables that should persist across reboots.

The section is placed directly after .bss, under the theory that the
size of Circuit Python's .bss + .data is bigger than the bootloader's
.bss + .data, so there is less likely to be a conflict.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:17 +08:00
Jeff Epler
2314f988b1
Merge pull request #2921 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-17 22:23:38 -05:00
66b79c994e
Translated using Weblate (German)
Currently translated at 66.6% (497 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/de/
2020-05-18 04:48:01 +02:00
Anonymous
cb3c8f1423
Translated using Weblate (German)
Currently translated at 66.6% (497 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/de/
2020-05-18 04:47:39 +02:00
Anonymous
f362ee1e75 Translated using Weblate (Swedish)
Currently translated at 100.0% (746 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-18 04:23:28 +02:00
Anonymous
4d1cbf3d63 Translated using Weblate (French)
Currently translated at 100.0% (746 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
bc64b8b358 Translated using Weblate (French)
Currently translated at 100.0% (746 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
5454877fb8 Translated using Weblate (Spanish)
Currently translated at 68.9% (514 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/es/
2020-05-18 04:23:28 +02:00
Jonny Bergdahl
5506765db5 Translated using Weblate (Swedish)
Currently translated at 100.0% (746 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-18 04:23:28 +02:00
Anonymous
b7292a3c34 Translated using Weblate (French)
Currently translated at 92.8% (693 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
a04d453e5c Translated using Weblate (French)
Currently translated at 92.8% (693 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
Anonymous
85fb231639 Translated using Weblate (French)
Currently translated at 92.3% (689 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
2c4e18be60 Translated using Weblate (French)
Currently translated at 92.3% (689 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
Anonymous
a543f9fd71 Translated using Weblate (French)
Currently translated at 92.0% (687 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
360777e7fe Translated using Weblate (French)
Currently translated at 92.0% (687 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
Anonymous
0d7e22b36d Translated using Weblate (French)
Currently translated at 91.9% (686 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
5eb43a35a2 Translated using Weblate (French)
Currently translated at 91.9% (686 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
Anonymous
edb033c63b Translated using Weblate (French)
Currently translated at 91.5% (683 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
68406d0eea Translated using Weblate (French)
Currently translated at 91.5% (683 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
Anonymous
f48a50fdd1 Translated using Weblate (French)
Currently translated at 91.2% (681 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
a0d7f5cce3 Translated using Weblate (French)
Currently translated at 91.2% (681 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:28 +02:00
Anonymous
4642c60f14 Translated using Weblate (French)
Currently translated at 91.1% (680 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
f4e8213439 Translated using Weblate (French)
Currently translated at 91.1% (680 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
b88541158c Translated using Weblate (French)
Currently translated at 89.4% (667 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
2f363b5052 Translated using Weblate (French)
Currently translated at 89.4% (667 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
e942dd6f78 Translated using Weblate (French)
Currently translated at 89.0% (664 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
362c4d3443 Translated using Weblate (French)
Currently translated at 89.0% (664 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
a65182dccf Translated using Weblate (French)
Currently translated at 88.0% (657 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
a7f4a35d80 Translated using Weblate (French)
Currently translated at 88.0% (657 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
992f290eb8 Translated using Weblate (French)
Currently translated at 85.2% (636 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
d40ac8e65d Translated using Weblate (French)
Currently translated at 85.2% (636 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
c51f5a6b26 Translated using Weblate (French)
Currently translated at 83.6% (624 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
19eec97959 Translated using Weblate (French)
Currently translated at 83.6% (624 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
aa0b21a852 Translated using Weblate (French)
Currently translated at 83.3% (622 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
8ed19c16e2 Translated using Weblate (French)
Currently translated at 83.3% (622 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
56c8a3d5bd Translated using Weblate (French)
Currently translated at 82.7% (617 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
9aee97c0a0 Translated using Weblate (French)
Currently translated at 82.7% (617 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
0475897b69 Translated using Weblate (French)
Currently translated at 82.3% (614 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
78506469e5 Translated using Weblate (French)
Currently translated at 82.3% (614 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
1238850bc6 Translated using Weblate (French)
Currently translated at 81.9% (611 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
fbdd45cbb7 Translated using Weblate (French)
Currently translated at 81.9% (611 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
eee39afdbe Translated using Weblate (French)
Currently translated at 81.7% (610 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
2263b3c536 Translated using Weblate (French)
Currently translated at 81.7% (610 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
4341b4a356 Translated using Weblate (French)
Currently translated at 81.5% (608 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
d5097891f1 Translated using Weblate (French)
Currently translated at 81.5% (608 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
ce1767ef08 Translated using Weblate (French)
Currently translated at 81.3% (607 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
bb962554ad Translated using Weblate (French)
Currently translated at 81.3% (607 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
5ebc1d4746 Translated using Weblate (French)
Currently translated at 77.0% (575 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
7adc63125e Translated using Weblate (French)
Currently translated at 77.0% (575 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
0cd6e233ba Translated using Weblate (French)
Currently translated at 76.5% (571 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
c51ef20642 Translated using Weblate (French)
Currently translated at 76.5% (571 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
b2f4c8cb98 Translated using Weblate (French)
Currently translated at 74.6% (557 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
ce8896844c Translated using Weblate (French)
Currently translated at 74.6% (557 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
63e2536023 Translated using Weblate (French)
Currently translated at 74.3% (555 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
f6d057fe10 Translated using Weblate (French)
Currently translated at 74.3% (555 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
0480776e85 Translated using Weblate (French)
Currently translated at 73.3% (547 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
9ef61896d8 Translated using Weblate (French)
Currently translated at 73.1% (546 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
ad06264e66 Translated using Weblate (French)
Currently translated at 73.1% (546 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
1689cc6ec0 Translated using Weblate (French)
Currently translated at 71.8% (536 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
5c950fc2bc Translated using Weblate (French)
Currently translated at 71.8% (536 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
1a7fbd83fa Translated using Weblate (French)
Currently translated at 71.3% (532 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
8a58d1a42e Translated using Weblate (French)
Currently translated at 71.3% (532 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
2edb2c86f2 Translated using Weblate (French)
Currently translated at 66.3% (495 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
fb18924099 Translated using Weblate (French)
Currently translated at 66.3% (495 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
292d61b0d7 Translated using Weblate (French)
Currently translated at 65.9% (492 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
ec1e51c683 Translated using Weblate (French)
Currently translated at 65.9% (492 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
69d1a91ede Translated using Weblate (French)
Currently translated at 65.6% (490 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
d05c0ec590 Translated using Weblate (French)
Currently translated at 65.6% (490 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
a0b1d98c79 Translated using Weblate (French)
Currently translated at 65.2% (487 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
94868852a1 Translated using Weblate (French)
Currently translated at 65.2% (487 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
Anonymous
fa418945b7 Translated using Weblate (French)
Currently translated at 65.1% (486 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:27 +02:00
f67e35a88b Translated using Weblate (French)
Currently translated at 65.1% (486 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
Anonymous
50dab65dd9 Translated using Weblate (French)
Currently translated at 64.7% (483 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
e054e7ec9a Translated using Weblate (French)
Currently translated at 64.7% (483 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
Anonymous
e8adbdbddc Translated using Weblate (French)
Currently translated at 64.3% (480 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
eed21c4886 Translated using Weblate (French)
Currently translated at 64.3% (480 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
Anonymous
aea15ad169 Translated using Weblate (French)
Currently translated at 64.2% (479 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
530469ff69 Translated using Weblate (French)
Currently translated at 64.2% (479 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
Anonymous
9e590c14e3 Translated using Weblate (French)
Currently translated at 64.0% (478 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
aa57a2c800 Translated using Weblate (French)
Currently translated at 64.0% (478 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
Anonymous
1d3447b5a3 Translated using Weblate (French)
Currently translated at 63.9% (477 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-18 04:23:26 +02:00
Jonny Bergdahl
58e7f28057 Translated using Weblate (Swedish)
Currently translated at 80.6% (602 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-18 04:23:26 +02:00
Dan Halbert
8fd733c54b
Merge pull request #2915 from dhalbert/update-frozen-libs-2020-05-16
update frozen libs
2020-05-17 22:23:20 -04:00
cyz
4f7b4241a2 add hiibot_bluefi 2020-05-18 09:42:37 +08:00
Jeff Epler
e51822133f
Merge pull request #2913 from polkapolka/DigitalInOutTypeHints
Digital In Out Type Hints
2020-05-17 12:37:04 -05:00
Jeff Epler
2addfff228
Merge pull request #2911 from jepler/add-translation-cs
add new Czech (cs) translation file
2020-05-17 12:36:34 -05:00
5e43f7a361 add weblate status badge in readme 2020-05-17 07:49:09 -05:00
ppolk-nocimed
c6406c74ec Added DigitalInOut suggestion 2020-05-16 13:21:34 -07:00
ppolk-nocimed
f76ff1eb69 Fixed Optional[Pull] 2020-05-16 13:14:50 -07:00
ppolk-nocimed
db924fb01e Digital In Out Type Hints 2020-05-16 12:47:49 -07:00
Dan Halbert
7424e41827 update frozen libs 2020-05-16 11:20:25 -04:00
Dan Halbert
e175a64036
disable rotaryio in CPX crickit 2020-05-15 20:35:12 -04:00
Scott Shawcroft
a57da6b808
Add port_fixed_stack for more spresence 2020-05-15 17:22:41 -07:00
Scott Shawcroft
8edb8e87c8
Turn reverse methods off for trinket haxpress 2020-05-15 17:22:22 -07:00
Jeff Epler
bad635e117 add new Czech (cs) translation file 2020-05-15 19:05:31 -05:00
Scott Shawcroft
1af5f6dc6d
Merge pull request #2900 from theacodes/fix-2766
Note that nvm.ByteArray is available at microcontroller.nvm
2020-05-15 17:01:17 -07:00
Scott Shawcroft
86f865afe0
Turn reverse methods off for cpx_crickit 2020-05-15 16:42:22 -07:00
Scott Shawcroft
3c1469b0a5
Add port_fixed_stack for more builds 2020-05-15 16:22:33 -07:00
Scott Shawcroft
6aaab005c5
Initial ESP32S2 port.
Basic blinky works but doesn't check pins.
2020-05-15 15:36:16 -07:00
Dan Halbert
a3ca9401b4
Shrink crickit build 2020-05-15 18:29:37 -04:00
dherrada
e67d6756d1
Merge branch 'master' into extract-types 2020-05-15 18:17:23 -04:00
Thea Flowers
7d167560af Note that nvm.ByteArray is available at microcontroller.nvm
Fixes #2766
2020-05-15 14:53:14 -07:00
Thea Flowers
0876034adb Make decode only apply to bytearray and not array as well 2020-05-15 14:32:44 -07:00
Lucian Copeland
99538c2414 Implement pin claiming, pin reset, and pin protections 2020-05-15 15:16:51 -04:00
dherrada
acf88d7c00
Removed extract_types.py 2020-05-15 13:57:13 -04:00
dherrada
0e39d4398c
Merged extract_types into extract_pyi 2020-05-15 13:55:46 -04:00
dherrada
416da442c0
Now outputs class name 2020-05-15 13:33:20 -04:00
Scott Shawcroft
0d8bca92e2
Merge pull request #2810 from dherrada/master
Pyi integration
2020-05-15 10:31:05 -07:00
dherrada
49cd9ac36e
Made extract_types return a more useful output 2020-05-15 13:29:41 -04:00
Thea Flowers
fe3e8ee02c Add bytearray.decode() for CPython compatibility
CPython has a `decode()` method on `bytearray`. This adds that method using the code from `bytes.decode`.

Test program:

```python

byte_boi = bytes([0x6D, 0x65, 0x65, 0x70])
print(byte_boi)  # b'meep'
byte_boi_str = byte_boi.decode("utf-8")
print(byte_boi_str)  # meep

byte_array_boi = bytearray(byte_boi)
print(byte_array_boi)  # bytearray(b'meep')
byte_array_boi_str = byte_array_boi.decode("utf-8")
print(byte_array_boi_str)  # meep

print(byte_array_boi_str == byte_boi_str)  # True

```
2020-05-14 21:52:58 -07:00
Scott Shawcroft
bd78ab3c28
Merge pull request #2895 from xobs/aesio-use-bufinfo
aesio: use bufinfo rather than mp_str_bytes
2020-05-14 20:05:21 -07:00
Sean Cross
f9ed3acf6d aesio: specify writable buffers for destination buffers
When calling `AES.decrypt_into()` or `AES.encrypt_into()`, the
destination buffers may be any buffer kind.  However, we currently
aren't checking to make sure the destination buffer is actually
writable.

Specify `MP_BUFFER_WRITE` for the destination buffers of both of these
objects so we don't inadvertently write to immutable data.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-15 10:22:42 +08:00
Sean Cross
aba36e4abf aesio: use bufinfo rather than mp_str_bytes
In order to accept both `bytes` objects and `bytearray` objects, use a
`bufinfo` construct to retrieve the data rather than
`mp_obj_str_get_data()`.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-15 10:16:00 +08:00
52b3e1faba actions: upload artifacts for stubs & docs 2020-05-14 21:03:49 -05:00
Scott Shawcroft
8ac3e7977f
Remove debug prints 2020-05-14 18:48:07 -07:00
Scott Shawcroft
15c2d16bf9
Fix help doc 2020-05-14 16:06:13 -07:00
Scott Shawcroft
afc84c2fd1
Fix ulab, math and template. 2020-05-14 15:58:36 -07:00
dherrada
9613cdd184
First fully working version 2020-05-14 18:58:28 -04:00
dherrada
a16edbc45c
First semi-functional version of extract_types.py 2020-05-14 18:22:07 -04:00
dherrada
b477c4812d
Fixed minor indentation issue 2020-05-14 16:58:25 -04:00
Jeff Epler
0f55f58652
Merge pull request #2892 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-14 09:04:10 -05:00
Jonny Bergdahl
09e740d6ea
Translated using Weblate (Swedish)
Currently translated at 3.7% (28 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-14 14:41:54 +02:00
Anonymous
b446d3eee1
Translated using Weblate (Swedish)
Currently translated at 3.4% (26 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-14 14:23:15 +02:00
Jonny Bergdahl
3d6a23411f
Translated using Weblate (Swedish)
Currently translated at 3.4% (26 of 746 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/sv/
2020-05-14 14:23:15 +02:00
Scott Shawcroft
794d5f5900
Correct version numbering 2020-05-13 14:45:09 -07:00
Scott Shawcroft
db4dbe0752
Merge pull request #2889 from jepler/gamepad-tick
Gamepad, GamepadShift: Fix after lower-power by enabling supervisor tick
2020-05-13 11:53:23 -07:00
eb876e21c3 nrf: code style 2020-05-13 10:40:41 -05:00
011acf41c0 nrf: Ensure ticks enabled while playing audio 2020-05-13 10:40:36 -05:00
Scott Shawcroft
3ffa5604fc
Update countio to python stub docs 2020-05-13 08:36:16 -07:00
adef45403b samd: audio dma: enable/disable supervisor tick as needed 2020-05-13 10:29:36 -05:00
Scott Shawcroft
7546d47f77
Merge remote-tracking branch 'adafruit/master' into improve_verification 2020-05-13 08:23:55 -07:00
Scott Shawcroft
82fdced180
Merge pull request #2827 from LearnWeaver/Optical-Encoder-Module
Countio
2020-05-13 08:22:57 -07:00
23ba58bbf5 Gamepad & GamepadShift: Initially allocate as long-lived
This makes less heap churn and decreases code size a tiny bit
2020-05-13 10:14:37 -05:00
fbf052bb27 Gamepad & GamepadShift: Enable ticks while object exists
Otherwise, button presses might not be noticed.
2020-05-13 10:14:37 -05:00
Scott Shawcroft
2efe17bcb7
Don't build in empty help.c 2020-05-12 19:01:17 -07:00
Scott Shawcroft
4612270f98
Only enable COUNTIO in full builds 2020-05-12 19:00:51 -07:00
Scott Shawcroft
80129c5a21
Disable countio on trinket haxpress 2020-05-12 18:55:49 -07:00
Scott Shawcroft
4e646ee6e4
Move vectorio to stubs 2020-05-12 18:40:02 -07:00
Scott Shawcroft
cde6651721
Merge remote-tracking branch 'adafruit/master' into improve_verification 2020-05-12 18:23:59 -07:00
Scott Shawcroft
277e8d528b
Merge branch 'master' into Optical-Encoder-Module 2020-05-12 18:22:57 -07:00
Scott Shawcroft
c816cfed58
Build stubs before docs 2020-05-12 17:37:42 -07:00
Scott Shawcroft
4e8de3c554
Swap sphinx to autoapi and the inline stubs 2020-05-12 17:28:24 -07:00
Scott Shawcroft
75f9969860
Merge pull request #2873 from WarriorOfWire/vectorio
Add vectorio: for drawing shapes
2020-05-12 17:24:35 -07:00
warriorofwire
5a80f5e606 nerf vectorio on a ton of m0 and overcommitted m4 boards due to translation text size 2020-05-12 15:23:00 -07:00
Kenny
8a9579c7a5
Merge pull request #1 from tannewt/vectorio
Merge in master
2020-05-12 12:33:57 -07:00
Scott Shawcroft
d274074f01
Merge remote-tracking branch 'adafruit/master' into vectorio 2020-05-12 12:29:05 -07:00
Scott Shawcroft
bc40034a08
Merge branch 'master' into Optical-Encoder-Module 2020-05-12 12:12:51 -07:00
Scott Shawcroft
f7303e6bd0
Merge pull request #2754 from maholli/non-standard-nvm
Add non-standard nvm to QSPI for external flash support
2020-05-12 11:56:33 -07:00
warriorofwire
fd94c08cf4 add performance measurement to VectorShape 2020-05-12 11:49:15 -07:00
warriorofwire
6aa9709d98 make Circle return explicit 2020-05-12 11:47:19 -07:00
warriorofwire
5af59cbabe Enable vectorio by default where displayio is enabled 2020-05-12 11:46:04 -07:00
Scott Shawcroft
a1091bbfbb
Merge pull request #2871 from DavePutz/Issue2812
Throw a NotImplementedError for time functions on boards without long ints
2020-05-12 11:40:49 -07:00
Scott Shawcroft
6c5874c5a5
Merge pull request #2869 from simmel-project/simmel
NRF: Minor Simmel fixes
2020-05-12 11:37:06 -07:00
dherrada
c534a872a2
Merge branch 'master' into master 2020-05-12 12:26:02 -04:00
dherrada
6490137812
Did usb_hid, usb_midi, ustack, wiznet 2020-05-12 12:08:46 -04:00
dherrada
e4589543fb
Did time, touchio, uheap 2020-05-12 11:43:24 -04:00
dherrada
991045b9ce
Did struct, supervisor, terminalio 2020-05-12 11:28:33 -04:00
Daniel Pollard
62bdfb74e3 removed lib from catwan_usbstick - updated transalations overflowed 2020-05-12 16:40:23 +10:00
Daniel Pollard
c00f81c0a3 changed branch on protomatter 2020-05-12 16:33:09 +10:00
Daniel Pollard
5e5461e77e removed countio from catwan_usbstick build 2020-05-12 16:32:35 +10:00
Daniel Pollard
22bf99ccc4 Fixed underline in documentation 2020-05-12 14:52:48 +10:00
Daniel Pollard
ee2cb703c8 merged master 2020-05-12 14:41:28 +10:00
warriorofwire
78444a1018 fix VectorShape on_dirty callback registration being set for the wrong type 2020-05-11 21:21:05 -07:00
warriorofwire
040beb0577 Clean up circle documentation 2020-05-11 21:15:40 -07:00
warriorofwire
cfd0de9c11 set vectorio to FULL_BUILD and see what works 2020-05-11 21:08:58 -07:00
DavePutz
114f06d825
Merge pull request #3 from DavePutz/Issue2812
make translate done
2020-05-11 21:50:01 -05:00
DavePutz
4712f9f104
Merge branch 'master' into Issue2812 2020-05-11 21:48:54 -05:00
DavePutz
ebcda59e53
Adding message for reporting of no long integers
Adding a message for the fix of issue #2812
2020-05-11 21:40:25 -05:00
root
f446f6c2ee Adding message 2020-05-11 21:27:49 -05:00
Sean Cross
ffaeeda749 nrf: simmel: decrease flash filesystem size
The flash filesystem must be reduced in order to allow the current
build to fit.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-12 09:31:51 +08:00
Sean Cross
f7fcd43516 nrf: simmel: disable SPIM3
Disable the SPIM3 controller to avoid needing to dedicate 8 kB to
the SPIM3 block.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-12 09:31:51 +08:00
Sean Cross
370fc7293a nrf: support disabling SPIM3
SPIM3 is faster than all other SPI blocks, and is capable of generating
a 32 MHz clock.  However, it cannot be used at the same time as the BLE
radio without dedicating an additional 8 kB of RAM to it.

Therefore, some boards may want to disable this.  Support pre-defining
NRFX_SPIM3_ENABLED on the command line to disable it on some bords.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-12 09:31:51 +08:00
Sean Cross
79c055f958 nrf: simmel: enable aesio
This adds AES support to simmel.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-12 09:31:51 +08:00
Sean Cross
235098efb8 nrf: simmel: correct CSn pin
The CSn pin is pin 6 on bank 1, not bank 0.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-12 09:31:51 +08:00
Scott Shawcroft
62b835ad76
Merge pull request #2833 from xiongyihui/pitaya-go
add nRF52840 based Makerdiary Pitaya Go
2020-05-11 16:34:27 -07:00
Scott Shawcroft
4937d5f1ca
Merge pull request #2866 from hierophect/stm32-lsetimeout
STM32: Fix LSE hang at startup
2020-05-11 16:23:09 -07:00
Scott Shawcroft
1b0c52c8ca
Merge pull request #2877 from rhooper/pixelbuf-doc-fix
Pixelbuf doc fix
2020-05-11 15:42:33 -07:00
Scott Shawcroft
55f78bfb70
Merge pull request #2878 from WarriorOfWire/ujson-stream-protocol
ujson: work with mp stream protocol for fast & easy read
2020-05-11 15:40:27 -07:00
Scott Shawcroft
801d9655e5
Merge pull request #2881 from DavePutz/Issue2872
Added call to rtc_reset() to fix Issue #2872
2020-05-11 15:30:32 -07:00
Lucian Copeland
94949fb46f Add recovery domain write access, adjust stack 2020-05-11 18:02:40 -04:00
Scott Shawcroft
6cfd73f480
Merge pull request #2883 from tannewt/teensy41
Add Teensy 4.1 board definition
2020-05-11 14:54:01 -07:00
Scott Shawcroft
61450cbd56
Add Teensy 4.1 board definition 2020-05-11 13:58:58 -07:00
Lucian Copeland
248704b262 Merge remote-tracking branch 'upstream/master' into stm32-lsetimeout 2020-05-11 14:18:37 -04:00
dherrada
603df58f97
Did stage, socket, storage 2020-05-11 13:40:02 -04:00
DavePutz
407938bf3a
Added a check for platforms supporting RTC before calling rtc_reset()
Added an #if CIRCUITPY_RTC check  for platforms supporting RTC
2020-05-11 12:03:44 -05:00
dherrada
c7a9d49cba
Did rgbmatrix, rotaryio, and RTC 2020-05-11 13:00:19 -04:00
DavePutz
2ddfab315c
Added call to rtc_reset() in rtc_init()
Fix for issue #2872. The rtc_time_source had not been initialized; causing a time.time() call to fail.
2020-05-11 11:31:18 -05:00
DavePutz
581c9cee08
Merge pull request #2 from adafruit/master
update fork
2020-05-11 11:26:37 -05:00
dherrada
838b6c5685
Did ps2io, pulseio, random 2020-05-11 10:48:11 -04:00
warriorofwire
d8491f3176 ujson: back out overeager loads() change; only change load() 2020-05-10 21:56:01 -07:00
warriorofwire
eb3d5fa453 ujson: do not eat trailing whitespace
Ujson should only worry about whitespace before JSON.  This becomes apparent when you are using MP stream protocol to read directly from input buffers.

When you attempt to read(1) on a UART (and possibly other protocols) you have to wait for either the byte or the timeout.

Fixes:
- Waiting for a timeout after you have completed reading a correct and complete JSON off the input.
- Raising an OSError after reading a correct and complete JSON off the input.
- Eating more data than semantically owned off the input buffer.
- Blocking to start parsing JSON until the entire JSON body has been loaded into a potentially large, contiguous Python object.

Code you would write before:
```
line = board_busio_uart_port.read_line()
json_dict = json.loads(line)
```
or reaching for fixed buffers and swapping them around in Python.

Code that did not work before that does now:
```
json_dict = json.load(board_busio_uart_port)
```

- This removes the need for intermediate copies of data when reading JSON from micropython stream protocol inputs.
- It also increases total application speed by parsing JSON concurrently with receiving on boards that read from UART via DMA.
- It simplifies code that users write while improving their apps.
2020-05-10 20:45:42 -07:00
Roy Hooper
09fedb3fd5 fix another doc error (pixelsx - thanks @theacodes) 2020-05-10 21:35:37 -04:00
Roy Hooper
70f2ef3f8e Fix docs some more 2020-05-10 19:50:10 -04:00
warriorofwire
32f85f7a44 vectorio: fix up Rectangle
* Fix drawing 1 pixel too large
* Need to pad dirty area to ensure removed shapes are fully removed
2020-05-10 16:21:07 -07:00
warriorofwire
58c8e00745 vectorio: clean up after group removal
VectorShape tells the Group to redraw whatever it left behind when it is removed now.
2020-05-10 15:36:23 -07:00
warriorofwire
6660311a96 vectorio: respect display transpose and mirror.
VectorShape now just uses the Group's and Display's absolute transforms.
2020-05-10 14:18:13 -07:00
Roy Hooper
2f7c0ec8e4 Minor fixes to _pixelbuf.PixelBuf docs 2020-05-10 16:22:01 -04:00
warriorofwire
4086600b61 vectorio: switch per-shape transform to Display
Rather than maintain a transform per-shape, we'll just use whatever
  settings are on the Display.  Currently only transpose is done.
2020-05-09 22:15:51 -07:00
warriorofwire
1c6e646f56 vectorio: fix mpconfig definition for disabled boards 2020-05-09 17:58:01 -07:00
warriorofwire
7697c419b4 translations for vectorio 2020-05-09 16:45:55 -07:00
warriorofwire
206d0e598a Add vectorio: for drawing shapes
vectorio builds on m4 express feather

Concrete shapes are composed into a VectorShape which is put into a displayio Group for display.

VectorShape provides transpose and x/y positioning for shape implementations.

Included Shapes:

* Circle
  - A radius; Circle is positioned at its axis in the VectorShape.
  - You can freely modify the radius to grow and shrink the circle in-place.

* Polygon
  - An ordered list of points.
  - Beteween each successive point an edge is inferred.  A final edge closing the shape is inferred between the last
    point and the first point.
  - You can modify the points in a Polygon.  The points' coordinate system is relative to (0, 0) so if you'd like a
      top-center justified 10x20 rectangle you can do points [(-5, 0), (5, 0), (5, 20), (0, 20)] and your VectorShape
      x and y properties will position the rectangle relative to its top center point

* Rectangle
  A width and a height.
2020-05-09 15:38:22 -07:00
Max Holliday
e6df8e0989 Merge branch 'master' into non-standard-nvm 2020-05-09 12:22:50 -07:00
Max Holliday
964040b770 More erroneous else statements 2020-05-09 12:16:04 -07:00
Max Holliday
8b6587a0c6 Unified single_status_byte & no_reset_cmd behavior 2020-05-09 12:09:01 -07:00
Max Holliday
9e01bb2136 Removing erroneous else statements 2020-05-09 12:03:26 -07:00
Dan Halbert
90bd931808
Merge pull request #2870 from kattni/pixelbuf-colorwheel-fix
Fix colorwheel RGB order and update name
2020-05-09 15:01:39 -04:00
Max Holliday
9ef28d8536 Replacing device that was accidentally deleted 2020-05-09 12:00:59 -07:00
Daniel Pollard
e947e4eb58 removed duplicate build param 2020-05-09 17:56:38 +10:00
Dan Halbert
8d00d99ca0
Shrink hallowing_m0_express to fit ko build 2020-05-08 22:51:21 -04:00
root
4435cf0020 make translate 2020-05-08 17:15:50 -05:00
DavePutz
e7fc806034
Throw a NotImplementedError for time functions on boards without long ints
Fix for Issue #2812. Instead of reporting a missing attribute for functions such as time.time() and time.mktime(); platforms that do not have long integer support will raise a NotImplementedError
2020-05-08 16:33:26 -05:00
DavePutz
d5671bdba5
Merge pull request #1 from adafruit/master
update fork
2020-05-08 15:56:18 -05:00
dherrada
09530e5dc3
Did os, _pixelbuf, _pew 2020-05-08 16:03:39 -04:00
Kattni Rembor
a83d1d7b4b Update wheel to colorwheel and fix RGB order. 2020-05-08 14:44:41 -04:00
Kattni Rembor
37e5ff7757 Update colorwheel from GRB to RGB. 2020-05-08 13:25:52 -04:00
Lucian Copeland
5249a7b02c Add timeout and adjustment to LSI 2020-05-08 12:36:39 -04:00
Dan Halbert
6a5ab57c18
Merge pull request #2867 from jepler/stm32f4xx-rgbmatrix
Fix build after #2831 (stm32f4xx rgbmatrix) broke it
2020-05-08 11:28:17 -04:00
182ae10080 Fix build after #2831 (stm32f4xx rgbmatrix) broke it 2020-05-07 18:32:50 -05:00
dherrada
d750096bef
Did neopixel, network, nvm 2020-05-07 18:40:46 -04:00
Daniel Pollard
94ca233d97
Update py/circuitpy_mpconfig.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2020-05-08 07:55:11 +10:00
dherrada
e31e9eeaa1
Did math, microcontroller, and multiterminal 2020-05-07 15:59:52 -04:00
dherrada
4f33a20d17
Added gamepad, gamepadshift, and i2cslave 2020-05-07 15:10:44 -04:00
Scott Shawcroft
7eb60b62b8
Merge pull request #2862 from spkuehl/docs-fix-RTC-typo
Documentation Fix: Typo in RTC.
2020-05-07 11:35:32 -07:00
dherrada
a3d5adb43c
Did _eve, fontio, framebufferio, and frequencyio 2020-05-07 11:56:46 -04:00
dherrada
2ebe3035df
Did board, digitalio, displayio 2020-05-07 10:54:09 -04:00
Daniel Pollard
84c806a4be updated descriptions and build variable 2020-05-07 12:42:46 +10:00
spkuehl
af55af216a Fix type in RTC documentation. 2020-05-06 14:11:11 -05:00
Scott Shawcroft
241ef52841
Merge pull request #2823 from xobs/crypto-aes
aes: add initial AES module
2020-05-06 10:54:57 -07:00
Scott Shawcroft
c3b3eb4c21
Merge pull request #2831 from jepler/rgbmatrix-stm
stm: enable RGBMatrix
2020-05-06 08:35:25 -07:00
Scott Shawcroft
4519ddebeb
Merge pull request #2841 from hierophect/mimxrt-spi-oneway
mimxrt10xx: add one-directional SPI
2020-05-06 08:32:21 -07:00
Sean Cross
b9f62ab14a locale: add translations for aesio
This is the result of running `make translate` after creating aesio.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-06 17:47:44 +08:00
Sean Cross
b168784fa0 aesio: add basic AES encryption and decryption
This adds initial support for an AES module named aesio.  This
implementation supports only a subset of AES modes, namely
ECB, CBC, and CTR modes.

Example usage:

```
>>> import aesio
>>>
>>> key = b'Sixteen byte key'
>>> cipher = aesio.AES(key, aesio.MODE_ECB)
>>> output = bytearray(16)
>>> cipher.encrypt_into(b'Circuit Python!!', output)
>>> output
bytearray(b'E\x14\x85\x18\x9a\x9c\r\x95>\xa7kV\xa2`\x8b\n')
>>>
```

This key is 16-bytes, so it uses AES128.  If your key is 24- or 32-
bytes long, it will switch to AES192 or AES256 respectively.

This has been tested with many of the official NIST test vectors,
such as those used in `pycryptodome` at
39626a5b01/lib/Crypto/SelfTest/Cipher/test_vectors/AES

CTR has not been tested as NIST does not provide test vectors for it.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-06 17:40:06 +08:00
Daniel Pollard
8961dd9fe7 changed build variables as per advice 2020-05-06 09:05:14 +10:00
Daniel Pollard
7f1be814c8 changed build variables as per advice 2020-05-06 09:04:15 +10:00
Jeff Epler
90625d169a
Merge pull request #2858 from weblate/weblate-circuitpython-master
Translations update from Weblate
2020-05-05 15:25:59 -05:00
2e29f7f141
Translated using Weblate (French)
Currently translated at 65.1% (477 of 732 strings)

Translation: CircuitPython/master
Translate-URL: https://hosted.weblate.org/projects/circuitpython/master/fr/
2020-05-05 22:24:11 +02:00
Dan Halbert
4e786fa63a
Merge pull request #2835 from jepler/weblate-circuitpython-circuitpython-master
Translations update from Weblate
2020-05-05 15:16:09 -04:00
Lucian Copeland
a1330747e8 text fixes, postpone warning disable 2020-05-05 12:46:30 -04:00
hierophect
c311b5c002
Merge pull request #2842 from hierophect/stm32-h7-displayio
STM32: Add displayio to F7/H7
2020-05-05 12:37:08 -04:00
fdd0deb0e1 Translated using Weblate (German)
Currently translated at 67.9% (495 of 729 strings)

Translation: CircuitPython/circuitpython-master
Translate-URL: https://later.unpythonic.net/projects/circuitpython/circuitpython-master/de/
2020-05-05 15:50:28 +00:00
Tannewt
c1eb33347f Translated using Weblate (English)
Currently translated at 2.9% (21 of 723 strings)

Translation: CircuitPython/circuitpython-master
Translate-URL: https://later.unpythonic.net/projects/circuitpython/circuitpython-master/en_X@pirate/
2020-05-05 15:50:28 +00:00
Weblate Admin
e8ad37c7ea Translated using Weblate (French)
Currently translated at 65.8% (476 of 723 strings)

Translation: CircuitPython/circuitpython-master
Translate-URL: https://later.unpythonic.net/projects/circuitpython/circuitpython-master/fr/
2020-05-05 15:50:28 +00:00
Weblate Admin
a129be22b8 Translated using Weblate (French)
Currently translated at 65.8% (476 of 723 strings)

Translation: CircuitPython/circuitpython-master
Translate-URL: https://later.unpythonic.net/projects/circuitpython/circuitpython-master/fr/
2020-05-05 15:50:28 +00:00
Scott Shawcroft
f40db45009
Merge pull request #2799 from dhalbert/ringbuf-fixes
Ringbuf: fix PacketBuffer; clean up ringbuf implementation and use
2020-05-05 08:50:22 -07:00
Daniel Pollard
f63ee9fb9b excluded countio from other smaller boards 2020-05-05 16:15:57 +10:00
Daniel Pollard
d5c24b99b8 hallowing m0 - exclude countio 2020-05-05 16:04:28 +10:00
Daniel Pollard
0ecc515544 added missing translation 2020-05-05 15:46:58 +10:00
Daniel Pollard
b43102342a Merge remote-tracking branch 'adafruit/master' into Optical-Encoder-Module 2020-05-05 15:46:13 +10:00
Daniel Pollard
bfa5cd9c13 refactor countio based on feedback 2020-05-05 15:23:38 +10:00
Dan Halbert
e1366d78b1 trivial change to force rebuild 2020-05-04 23:05:47 -04:00
Dan Halbert
b23ff41606 merge from upstream and make translate again (sv.po) 2020-05-04 20:38:29 -04:00
Dan Halbert
0105acb231 Merge remote-tracking branch 'adafruit/master' into ringbuf-fixes 2020-05-04 20:37:32 -04:00
Dan Halbert
c0af9f67b5 make translate 2020-05-04 19:52:24 -04:00
Dan Halbert
b7836aeac6 address review comments 2020-05-04 19:51:08 -04:00
Jeff Epler
dd216b6cad
Merge pull request #2851 from jepler/add-swedish-translation
Create empty Swedish (sv) translation
2020-05-04 18:45:59 -05:00
Jeff Epler
fd383c8047 actions: build-riscv: switch to checkout@v2 2020-05-04 17:15:14 -05:00
Jeff Epler
6957aaf4d0 Create empty Swedish (sv) translation 2020-05-04 16:45:00 -05:00
Scott Shawcroft
54eb6d39e4
Merge pull request #2847 from bd34n/external-flash-fix
.../external_flash.c: Don't attempt to issue CMD_READ_STATUS2 for devices with only a single_status_byte.
2020-05-04 14:44:10 -07:00
Dan Halbert
bae7a5e433 make translate again 2020-05-04 17:26:59 -04:00
Dan Halbert
602eabe668
Squeeze hallowing_m0_express build slightly
ko build is a little too big.
2020-05-04 17:18:53 -04:00
Dan Halbert
c377d4bea7
Merge branch 'master' into non-standard-nvm 2020-05-04 16:08:45 -04:00
Dan Halbert
d6c6f9f4f0 add PacketBuffer .incoming_ and .outgoing_packet_length 2020-05-04 15:59:45 -04:00
Dan Halbert
4d7e341e44
Merge pull request #2844 from xobs/add-nrf-pca10100
nrf: add pca10100
2020-05-04 10:51:01 -04:00
Dan Halbert
e1b5ae36bd
Merge pull request #2849 from simmel-project/simmel-enable-hid
nrf: simmel: enable CIRCUITPY_USB_HID
2020-05-04 10:48:53 -04:00
Sean Cross
b128399d1e nrf: simmel: enable CIRCUITPY_USB_HID
Simmel had USB HID disabled in order to save space.  However, the board
configuration did not set USB_DEVICES, causing it to inherit the default
device bouquet of MSC,CDC,MIDI,HID.  This in turn caused HID to be included
in the USB Configuration Descriptor.

For some reason, this was not a problem in an earlier version of tinyusb or
circuitpython.  However, in the most recent version this has rightfully
caused asserts to appear during configuration.

Re-enable USB_HID for now, as it doesn't add too much in terms of space.
We may disable it again later on if we become pressed for space.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-04 15:37:53 +08:00
Sean Cross
cb4fc894d7 nrf: add pca10100
This is the nRF52833-DK board.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-04 15:07:49 +08:00
Brian Dean
28179a3aaf .../external_flash.c: Don't attempt to issue CMD_READ_STATUS2 for
devices with only a single_status_byte.
2020-05-03 18:33:01 -04:00
dherrada
0e465e63b9
Did audiopwmio, bitbangio, and _bleio 2020-05-01 18:23:27 -04:00
Lucian Copeland
61b0994631 Fix flag typo 2020-05-01 14:46:06 -04:00
Scott Shawcroft
242063e1d0
Merge pull request #2838 from spkuehl/UART_sharedbinding_fix
Fix #2814 Corrected UART output.
2020-05-01 11:05:24 -07:00
Lucian Copeland
bc581fbdfb Add-unidirectional-SPI 2020-05-01 13:15:38 -04:00
Yihui Xiong
7dd3ddc06b use Nordic's VID which seems to be allowed
https://devzone.nordicsemi.com/f/nordic-q-a/50638/usb-pid-for-nrf52840
2020-05-01 06:10:43 +00:00
spkuehl
a3a2dd0f70 Corrected UART output. 2020-04-30 19:14:51 -05:00
Scott Shawcroft
b3b6a64ed7
Merge pull request #2685 from tannewt/lower_power
Lower power by using the Wait for Interrupt (WFI) instruction
2020-04-30 15:24:03 -07:00
Scott Shawcroft
a863b0a349
Fix openmv_h7 build 2020-04-30 13:46:12 -07:00
Scott Shawcroft
1ca90572f1
Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-30 13:25:31 -07:00
hierophect
10c5bf666e
Merge pull request #2836 from hierophect/stm32-openmv-pid
STM32: Add correct PID for the OpenMV
2020-04-30 16:07:34 -04:00
Lucian Copeland
06b62721b3 Increase H7 filesystem size 2020-04-30 15:49:17 -04:00
Scott Shawcroft
74a2d0944a
Merge pull request #2834 from Teknikio/fix/bluebird_pinout
Update teknikio bluebird pin assignments
2020-04-30 11:50:02 -07:00
Lucian Copeland
435aa3d055 Add correct PID for the OpenMV 2020-04-30 14:49:47 -04:00
Lucian Copeland
4f71bd295d Make PulseIO optional within DisplayIO 2020-04-30 14:47:50 -04:00
Scott Shawcroft
f44e1d6a8d
Merge pull request #2828 from simmel-project/add-simmel
WIP: add simmel board
2020-04-30 11:40:34 -07:00
Scott Shawcroft
7c4f307db3
Merge pull request #2832 from hierophect/stm32-openmv
STM32: Add the OpenMV-H7 R1 board
2020-04-30 11:32:06 -07:00
dherrada
d65e851044
Did audioio, audiomixer, audiomp3 2020-04-30 13:06:09 -04:00
Lucian Copeland
89ff5589c4 Add the OpenMV-H7 R1 board 2020-04-30 12:39:20 -04:00
Yihui Xiong
14f6f082ad add pitaya_go 2020-04-30 14:31:06 +00:00
e5be728c1c stm: enable protomatter
Testing performed: on stm32f405 feather, all pins change in plausible ways
on a logic probe.  Didn't actually drive a display yet.
2020-04-30 08:58:58 -05:00
JoeBakalor
36a71560c2 update teknikio bluebird pin assignments 2020-04-30 09:58:27 -04:00
Dan Halbert
b0383f4aff make translate; remove PO-Revision-Date to reduce merge changes in .po files 2020-04-30 09:18:48 -04:00
Yihui Xiong
4393a88fb6 add nRF52840 based Makerdiary Pitaya Go 2020-04-30 07:38:20 +00:00
Dan Halbert
7337ea4955 fix support_matrix.py to handle ?= 2020-04-30 00:54:46 -04:00
Dan Halbert
46298ddcb4 PacketBuffer doc fixes 2020-04-30 00:36:01 -04:00
Dan Halbert
241d7e2ae6 change many ifndefs to ?= 2020-04-29 23:31:34 -04:00
Dan Halbert
f3078511a6 further cleanup and bug fixing 2020-04-29 23:18:08 -04:00
Sean Cross
6aac9233db nrf: bluetooth: add s147 v7.0.1 softdevice hexfile
This was not added as part of the initial v7.0.1 patchset because
.hex files are in this project's .gitignore, and so git ignored it.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-30 10:43:46 +08:00
Dan Halbert
180f5c6a94 Merge remote-tracking branch 'adafruit/master' into ringbuf-fixes 2020-04-29 22:11:22 -04:00
Dan Halbert
3d62f87e29 back to '.packet_size' for compatiblity 2020-04-29 22:10:56 -04:00
Dan Halbert
84cee1ab8d rename and improve PacketBuffer packet length property 2020-04-29 17:49:31 -04:00
dherrada
7ff9b9bc80
Did first 3 2020-04-29 17:36:28 -04:00
Scott Shawcroft
3799c34564
Disable bitbangio on CPX Crickit so we have room for lower_power.
Enable pixelbuf in its place because we'll need it soon.
2020-04-29 13:57:09 -07:00
dherrada
a2a32fea1a
Added newlines after every ellipsis 2020-04-29 15:55:06 -04:00
dherrada
093461e816
Fixed indentation 2020-04-29 15:45:19 -04:00
dherrada
deccdcc1d6
Did the same for the rest of busio 2020-04-29 15:20:05 -04:00
dherrada
93d1e53c66
Hopefully fixed whitespace issues 2020-04-29 14:19:04 -04:00
Scott Shawcroft
18657b6539
Update TinyUSB to include SAMD race fix 2020-04-29 10:52:26 -07:00
Scott Shawcroft
a30ff70b4e
Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-29 10:51:21 -07:00
dherrada
8cdc67a157
Merge pull request #2 from tannewt/improve_verification
Better handle //| and do __init__.c first.
2020-04-29 13:30:40 -04:00
Scott Shawcroft
8c77252adf
Better handle //| and do __init__.c first. 2020-04-29 10:29:12 -07:00
Sean Cross
1327b62c8d github: add simmel to build.yml
Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-29 22:33:34 +08:00
Sean Cross
1d0781bf12 nrf: add simmel board
This adds support for Simmel, an nRF52833-based bluetooth tracking
board designed to aid in pandemic tracing.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-29 11:40:00 +08:00
Max Holliday
cc290c50c6 fixing diff error 2020-04-28 18:15:38 -07:00
dherrada
c7b721f4f1
Fixed some more whitespace 2020-04-28 19:22:03 -04:00
dherrada
aacca61598
Fixed whitespace on audiocore 2020-04-28 18:56:19 -04:00
dherrada
c3897d0add
Fixed whitespace in analogio 2020-04-28 18:43:40 -04:00
dherrada
724dcda3ec
Fixed whitespace in busio 2020-04-28 18:39:58 -04:00
Scott Shawcroft
2d7cf4b792
Merge pull request #2819 from hierophect/stm32-readme
STM32: Add port readme, make flash
2020-04-28 12:32:03 -07:00
Max Holliday
b2de5a9df9 fixing my goofy gcc-arm local stuff 2020-04-28 12:24:10 -07:00
Scott Shawcroft
1e56de02e5
Merge pull request #2822 from TG-Techie/TG-Watch02A_additions
Tg-Watch02A submodule additions
2020-04-28 12:02:45 -07:00
Max Holliday
10675bba3e Merge branch 'non-standard-nvm_cleanup' into non-standard-nvm 2020-04-28 12:02:38 -07:00
Max Holliday
6c4decd4e2 decoupling chip specific functions from EXTERNAL_FLASH_QSPI_SINGLE 2020-04-28 11:51:07 -07:00
Max Holliday
baad9c11df Merge branch 'master' into non-standard-nvm_cleanup 2020-04-28 11:42:58 -07:00
TG-Techie
b9e494b85a add submodule to TG-Watch02A 2020-04-28 00:03:02 -04:00
Scott Shawcroft
b7804f450b
Fix stm32746g_discovery
Also, rename it so that matches the other board names.
2020-04-27 20:34:42 -07:00
Scott Shawcroft
e45de39998
Fix nucleo_f746zg build 2020-04-27 20:28:05 -07:00
TG-Techie
76b466a38a add submodule to TG-Watch02A 2020-04-27 22:49:30 -04:00
Scott Shawcroft
48a191a126
Update translations 2020-04-27 18:35:11 -07:00
Lucian Copeland
2a0e176a77 Add readme and dfu-flashing 2020-04-27 20:51:47 -04:00
Scott Shawcroft
de42e4af02
Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-27 17:43:32 -07:00
Scott Shawcroft
40a1f3edbc
Merge pull request #2811 from jepler/update-ulab
ulab: actually update the submodule
2020-04-27 17:41:43 -07:00
Scott Shawcroft
755d404edf
Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-27 16:45:10 -07:00
Dan Halbert
faa50df05f
Merge pull request #2817 from jepler/stm-linker-scripts
Standardize on FLASH_FIRMWARE section name in linker scripts
2020-04-27 18:43:26 -04:00
dherrada
78ea3ff584
Merge pull request #1 from tannewt/switch_to_inline_pyi
Add verification script
2020-04-27 18:27:32 -04:00
7f0f0b30d3 linker scripts: Re-align at ":"
With "git show -b" you can verify that this is a whitespace only change
because the diff will be empty.
2020-04-27 17:17:42 -05:00
Scott Shawcroft
46713482f4
Add verification script 2020-04-27 14:36:14 -07:00
dherrada
829da5c127
Added inline pyi to audiomp3 2020-04-27 17:29:50 -04:00
dherrada
8330471068
Added inline pyi to audiomixer 2020-04-27 17:20:40 -04:00
hierophect
2b1d3c2399
Merge pull request #2808 from k0d/stm32f7_os
Enables os on STM32F7
2020-04-27 17:06:20 -04:00
dherrada
1363e6e724
Added inline pyi to audiocore 2020-04-27 17:02:48 -04:00
Max Holliday
86943ca8a1 Merge remote-tracking branch 'adafruit/master' 2020-04-27 13:51:51 -07:00
dherrada
088b5b1785
Added inline pyi to audiocore 2020-04-27 16:49:12 -04:00
1efa7076b0 build_memory_info: Report used, free, and total memory
.. intead of just free and total as before.
2020-04-27 15:43:13 -05:00
dherrada
e96235d0cf
Added inline pyi to audiobusio 2020-04-27 16:35:03 -04:00
7eff89e9f9 linker scripts: Re-align at ":"
With "git show -b" you can verify that this is a whitespace only change
because the diff will be empty.
2020-04-27 12:47:52 -05:00
dherrada
8344fce994
Added inline pyi to analogio 2020-04-27 13:06:47 -04:00
hierophect
d9e4155815
Merge branch 'master' into stm32f7_os 2020-04-27 12:58:15 -04:00
hierophect
29e7d00050
Merge pull request #2806 from k0d/stm32f7_pulseio
Enables PulseIO on STM32F7
2020-04-27 12:28:27 -04:00
Mark Olsson
31d8e46063 Enables os on STM32F7
os.uname() works
os.urandom() doesn't work yet, will enable in another PR
2020-04-27 18:18:43 +02:00
Mark Olsson
f9096d83ac Enables PulseIO on STM32F7
Tested on nucleo_f746zg
2020-04-27 17:55:07 +02:00
85a4dd939f build_memory_info: Drop support for old FLASH region name
This led to incorrect results about free memory in the stm and i.mx ports
2020-04-27 09:12:45 -05:00
6f6dc835d2 litex: Use FLASH_FIRMWARE instead of FLASH in linker scripts
for compatibility with the build_memory_info script
2020-04-27 09:12:45 -05:00
808b456927 mimxrt10xx: Use FLASH_FIRMWARE instead of FLASH_TEXT in linker scripts
for compatibility with the build_memory_info script

This change was scripted:
    git grep -l FLASH_TEXT | xargs sed -i s/FLASH_TEXT/FLASH_FIRMWARE/
2020-04-27 08:07:47 -05:00
aff42defda stm: Use FLASH_FIRMWARE instead of FLASH_TEXT in linker scripts
for compatibility with the build_memory_info script

This change was scripted:
    git grep -l FLASH_TEXT | xargs sed -i s/FLASH_TEXT/FLASH_FIRMWARE/
2020-04-27 08:07:28 -05:00
485f667141 ulab: disable on espruino pico
this non-"express" board is nearly full.  Right now it's actually possible
just to disable the "compare" module, but as this leaves it packed
pretty full I prefer to fully disable it in order to avoid the topic
returning again soon.
2020-04-27 07:47:05 -05:00
1a6df71cec ulab: update 2020-04-27 07:46:48 -05:00
Scott Shawcroft
9e4b94f466
Merge pull request #2805 from tannewt/update_tinyusb
Update tinyusb
2020-04-26 20:55:36 -07:00
2c78a7400a make translate 2020-04-26 14:46:28 -05:00
c016ea6f0a ulab: actually update the submodule
PR#2802 missed the submodule update itself.
2020-04-26 10:12:56 -05:00
dherrada
27e085ec36
Added pyi to OneWire.c 2020-04-25 15:36:16 -04:00
dherrada
e7874277ab
Fixed empty lines 2020-04-25 15:35:24 -04:00
dherrada
7070fe1995
Added inline pyi to UART.c 2020-04-25 15:25:31 -04:00
dherrada
28430a9919
Added inline pyi to I2C.c 2020-04-25 15:07:58 -04:00
hierophect
652a5de242
Merge pull request #2809 from k0d/stm32f767xx_fix
Adds missing declarations in periph.h for stm32f767xx
2020-04-25 14:16:34 -04:00
Mark Olsson
8814dd038e Adds missing declarations in periph.h for stm32f767xx 2020-04-25 19:50:48 +02:00
Scott Shawcroft
67c053e9c4
Add USB include for LiteX 2020-04-24 17:24:05 -07:00
Scott Shawcroft
5c7f6e6211
Remove empty #if and add missing includes. 2020-04-24 11:48:55 -07:00
hierophect
b351e9b257
Merge pull request #2794 from k0d/ports_disco_f746zg
adds support for the stm32f746g_disco board
2020-04-24 14:05:30 -04:00
Mark Olsson
91fbbcab19 adds support for the stm32f746g_disco board 2020-04-24 16:43:39 +02:00
Dan Halbert
1f034f0f59
Merge pull request #2807 from jepler/mpy-cross-mac-moved-cheese
build.yml: Adjust for change in 'brew'
2020-04-24 10:39:55 -04:00
f1bf4de452 brew install just for safetys sake 2020-04-24 09:28:12 -05:00
7126a2f522 build.yml: Adjust for change in 'brew'
'brew' apparently introduced an incompatible change, where even
"--force" does not actually make the commands available in the default path.

Also switch to a numbered macos release instead of "latest", though this
did not save us from breaking changes in brew or other preinstalled sw.
2020-04-24 09:11:06 -05:00
Dan Halbert
5a22a5d016
Merge pull request #2598 from hierophect/stm32-docfix
Add stm to docs matrix
2020-04-24 10:07:15 -04:00
Dan Halbert
982a755eae
Merge pull request #2801 from simmel-project/nrf-s140-7.0.1
Add NRF S140 7.0.1
2020-04-23 21:59:51 -04:00
Scott Shawcroft
5a7652ff86
Even newer tinyUSB 2020-04-23 18:03:16 -07:00
Lucian Copeland
bd0df9e3bc Minor redundancy fix 2020-04-23 17:43:35 -04:00
dherrada
55bdee688f
Reorganized pyi again 2020-04-23 16:14:17 -04:00
dherrada
855c2033b5
Reogranized pyi in spi.c 2020-04-23 15:35:20 -04:00
Scott Shawcroft
de71a8ccb2
Merge pull request #2804 from mew-cx/mewcx_uchip_bin_exception
tools: upload .bin and .uf2 for Itaca uChip boards
2020-04-23 12:01:22 -07:00
Lucian Copeland
b6f07a1c41 Fix submodule desync 2020-04-23 13:44:09 -04:00
Lucian Copeland
c6c77726e7 Merge remote-tracking branch 'upstream/master' into stm32-docfix 2020-04-23 13:39:48 -04:00
Lucian Copeland
8791ca6af3 implement requested changes 2020-04-23 13:33:41 -04:00
hierophect
ead7c6c887
Merge pull request #2785 from k0d/ports_nucleo_f746zg
STM32: adds support for stm32f746xx MCU and the nucleo_f746zg board
2020-04-23 12:32:44 -04:00
Mark Olsson
83cc9783cc STM32: adds support for stm32f746xx MCU and the nucleo_f746zg board 2020-04-23 10:48:27 +02:00
Mike Weiblen
8afa9878fd tools: upload .bin and .uf2 for Itaca uChip boards
uChip boards are shipped with an Arduino bootloader.  The .bin files
can be installed without first installing a .uf2 bootloader.

See https://github.com/adafruit/circuitpython/issues/2798
2020-04-22 23:50:14 -06:00
Scott Shawcroft
f13de32208
Add HSE_VALUE for STM feather. 2020-04-22 14:37:24 -07:00
Lucian Copeland
d0a2106547 Remove old build flags, add fixes for shared_matrix 2020-04-22 16:06:08 -04:00
dherrada
a18b991ca9
Added pyi to SPI.c 2020-04-22 15:22:34 -04:00
Scott Shawcroft
1e94d18db5
Merge pull request #2800 from dhalbert/nrf-firmware-size-fix
fix calculation of nrf firmware size
2020-04-22 12:14:56 -07:00
Scott Shawcroft
0cb34316cd
Merge pull request #2802 from jepler/update-ulab
ulab: Update from upstream
2020-04-22 12:10:08 -07:00
Scott Shawcroft
b277944cf0
Fix STM so it matches the correct RTC fields. 2020-04-22 11:10:51 -07:00
b87af3b071 ulab: Update from upstream
Closes: #2787
2020-04-22 09:04:12 -05:00
Sean Cross
689dd61379 nrf: nrf52833: use s140 v7.0.1
Previously, we were using v6.1.1 which worked, but was unsupported.
v7.0.1 is the first version of s140 that supports the nRF52833.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-22 13:34:11 +08:00
Sean Cross
09bef7b0e1 nrf: bluetooth: add s140 v7.0.1
This is the first version with official support for nRF52833.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-22 13:33:39 +08:00
Dan Halbert
2f86e31501 fix calculation of nrf firmware size 2020-04-22 00:52:54 -04:00
Dan Halbert
fbc8719fad ringbuf tested 2020-04-21 22:40:12 -04:00
Dan Halbert
77cd93ac2d merge from adafruit 2020-04-21 17:47:51 -04:00
Dan Halbert
38ec3bc574 further ringbuf cleanup 2020-04-21 17:38:20 -04:00
Scott Shawcroft
dcb0e50f04
Fix USB midi and hid disable. 2020-04-21 14:15:44 -07:00
Scott Shawcroft
5cc8a3ec82
Add back fake us delay. 2020-04-21 14:14:49 -07:00
Scott Shawcroft
17d038830d
Use our own flag for board crystal config. 2020-04-21 14:14:30 -07:00
Scott Shawcroft
51dbe9109f
Merge pull request #2797 from jepler/fix-2792
displayio: Fix "bus type" problem introduced at 8cba145c90
2020-04-21 12:30:32 -07:00
507e17fbf1 displayio: Fix "bus type" problem introduced at 8cba145c90
When allocate_display_bus_or_raise was factored out, the assignment
of the bus's Python type was lost.  Restore it.

This would have affected displays of any type other than RGBMatrix, when
they were created dynamically.  Boards with displays configured in flash
were unaffected.

Closes: #2792
2020-04-21 13:48:34 -05:00
Scott Shawcroft
ff9e388910
Merge pull request #2789 from simmel-project/nrf52833
Add support for nrf52833
2020-04-21 11:33:36 -07:00
Max Holliday
bb317c1e76
Merge pull request #4 from adafruit/master
merge from upstream
2020-04-21 11:26:25 -07:00
Sean Cross
c04e6d6f52 nrf: bleio: parameterize softradio configuration
Allow for setting various softradio memory settings as part of a
board in order to support lower-memory configurations.  If a
parameter is unspecified then the previously-defined value is used.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 12:29:59 +08:00
Sean Cross
3537ad4059 nrf: mpconfigport: support configuration of various sizes
Conditionally set variables such as the softdevice RAM size, bootloader
size, and the spi m3 buffer size.  This allows ports to adjust these
values to suit their needs.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 12:29:58 +08:00
Sean Cross
33720af0c6 nrf: mpconfigport: subtract config size from firmware size
The BLE Config area needs to be subtracted from the size of the firmware.
THis is because the firmware is counted by walking backwards from the end
of memory, and the BLE config area is placed lower in memory than the
firmware.  Subtracting the BLE config size ensures the internal flash
filesystem doesn't try to use the firmware as storage.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 12:29:57 +08:00
Sean Cross
3ed5b87b8f nrf: add support for nrf52833
This adds preliminary support for the nRF52833, which is a variant of
the nRF52840 with half the RAM, half the flash, and fewer peripherals.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 12:29:56 +08:00
Sean Cross
4ad1cbeea3 nrf: make rgbmatrix and framebufferio optional
Ports can set CIRCUITPY_RGBMATRIX and CIRCUITPY_FRAMEBUFFERIO to 0
in their .mk file in order to prevent these from being built.  This
is necessary for resource-constrained devices.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 10:44:21 +08:00
Sean Cross
066f486b28 nrf: supervisor: support building without BUSIO
Only initialize i2c, spi, and uart if building with BUSIO.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 10:44:20 +08:00
Sean Cross
ac9d336f40 nrf: make neopixel support optional
Add a conditional around the call to neopixel_write(), allowing us
to build for nrf without neopixel support.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 09:56:27 +08:00
Sean Cross
05b5356acc external_flash: add support for mx25r1635f
This flash chip is used in Simmel.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 09:56:05 +08:00
Scott Shawcroft
bebf27e733
Merge remote-tracking branch 'adafruit/master' into lower_power
This isn't perfect and needs a bit more testing.
2020-04-20 18:25:13 -07:00
Scott Shawcroft
a4d86b96fd
Merge pull request #2777 from pewpew-game/master
Fix RGB/BGR colors in Stage
2020-04-20 15:25:29 -07:00
hierophect
2c92befae1
Merge pull request #2788 from k0d/nulceo_f767_flash_bugfix
STM32: f767: Fixes linker settings.
2020-04-20 16:06:02 -04:00
Mark Olsson
506f340c7d STM32: f767: Fixes linker settings. 2020-04-20 19:15:18 +02:00
Jeff Epler
276241b962
Merge pull request #2775 from jepler/rgbmatrix
Rename Protomatter to RGBMatrix
2020-04-20 07:09:12 -05:00
898c09c35e RGBMatrix: nonessential change to kick Actions 2020-04-19 09:10:08 -05:00
b4c1b355bb make translate 2020-04-17 18:44:35 -05:00
9bfe6b7197 framebufferio: update copyright information 2020-04-17 18:44:07 -05:00
8c455f24bf RGBMatrix: this comment no longer describes the code
... allocate_display_bus_or_raise() uses fixed storage, not heap storage.
2020-04-17 18:44:07 -05:00
37cb6bafa8 RGBMatrix: documentation got behind the code 2020-04-17 18:44:07 -05:00
5fcc6d6286 RGBMatrix: finish renaming from Protomatter
This gets all the purely internal references.  Some uses of
protomatter/Protomatter/PROTOMATTER remain, as they are references
to symbols in the Protomatter C library itself.
2020-04-17 18:44:07 -05:00
1b478bbae6 RGBMatrix: remove unneeded properties 2020-04-17 18:43:57 -05:00
57ce2d1f41 framebufferio: get width, etc., from protocol, not object property 2020-04-17 18:43:57 -05:00
3d6258f63d Rename Protomatter -> RGBMatrix
This is a quick rename, it changes the user-facing names but not the
internal names of things.
2020-04-17 18:43:57 -05:00
64c3968a2e protomatter: move get_width/height to common_hal 2020-04-17 18:43:57 -05:00
545b6e560a fix doc build 2020-04-17 18:43:57 -05:00
1a91a75b9c framebufferio: get more properties direct from underlying framebuffer 2020-04-17 18:43:57 -05:00
a32337718d Rename _protomatter -> protomatter
I originally believed that there would be a wrapper library around it,
like with _pixelbuf; but this proves not to be the case, as there's
too little for the library to do.
2020-04-17 18:43:57 -05:00
d1ff23e004 framebufferio: get width, height from framebuffer properties 2020-04-17 18:43:57 -05:00
d2aac7a754 Protomatter: add width, height properties 2020-04-17 18:43:57 -05:00
Scott Shawcroft
7e3d4c61b5
Update TinyUSB and add interrupt hooks. 2020-04-17 14:16:49 -07:00
Lucian Copeland
25245bc442 Merge remote-tracking branch 'upstream/master' into stm32-docfix 2020-04-17 13:27:48 -04:00
hierophect
1a71c8c515
Merge pull request #2735 from hierophect/stm32x7-setup
STM32: Add F7 and H7 Support
2020-04-17 13:02:09 -04:00
AndrewR-L
f572b72306
busio/UART: Correct and clarify readline() return.
Surely readline() "rtype" is string not int as stated (and not bytes as some might expect).

Also it is not totally unambiguous what happens on a timeout so it would help to clarify in docs that on a timeout 
it does NOT return with what it has read so far, rather it leaves all that in the buffer ready for a future read and returns nothing.

Likewise clarify that if timeout=0 but there is no newline it DOES return what it has read so far (NOT None). 

At least this is what I think it does and/or is supposed to do!

Python docs are generally not too explicit about what is the proper treatment, so perhaps all the more reason to
clarify the interpretation adopted?
2020-04-17 15:10:36 +01:00
Radomir Dopieralski
43022d8294 Add copyrights to pewpew m4 and ugame board.c 2020-04-17 09:50:11 +02:00
Scott Shawcroft
669ac3f7f2
Merge pull request #2768 from xobs/litex-full-build
litex: remove minimal build option
2020-04-16 15:31:28 -07:00
Lucian Copeland
9e49fc13f4 startup file crash fix, H7 bin fix 2020-04-16 17:33:48 -04:00
Scott Shawcroft
5b0d9bdeb0
Update copyright to bump the CI 2020-04-16 14:21:26 -07:00
Scott Shawcroft
abd340a8e4
Remove tick.h from merged file. 2020-04-16 11:35:19 -07:00
Scott Shawcroft
b3552efc76
Remove accidental file 2020-04-16 11:28:01 -07:00
Radomir Dopieralski
f7e8987929 Bump circuitpython-stage to 1.0.11 to fix audio problems
Fix #2773
2020-04-16 13:56:03 +02:00
Sean Cross
61f777c9c6 litex: enable binascii and ujson modules
Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-16 10:02:08 +08:00
Sean Cross
bb527ac9ea litex: disable minimal build
Manually specify available modules and disable any modules
that are currently unsupported on the litex target.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-16 09:26:08 +08:00
Sean Cross
db3933429a litex: add os module
Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-16 09:26:08 +08:00
Sean Cross
6885ffc9af litex: mphalport: add fake mp_hal_delay_us
Add a mp_hal_delay_us, which is required by some of the modules,
that simply calls mp_hal_delay_ms / 1000.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-16 09:26:08 +08:00
Radomir Dopieralski
f39ca6052e Fix RGB/BGR colors in Stage
This makes the colors used by the stage library compatible with those
used by the displayio library.
2020-04-15 23:41:38 +02:00
Lucian Copeland
00b2e6a1db Fix korea translation error, minor submodule change 2020-04-15 13:11:14 -04:00
Lucian Copeland
a1451aae51 Correct submodule desync 2020-04-15 11:32:50 -04:00
Lucian Copeland
54abfc2e8b translations-merge 2020-04-15 10:29:05 -04:00
Lucian Copeland
0f87a75f4f translations 2020-04-15 10:24:51 -04:00
Lucian Copeland
6427994b14 Implement requested changes 2020-04-15 10:22:51 -04:00
Dan Halbert
ae549fc9da
Merge pull request #2772 from adafruit/tannewt-patch-1
Update to the Adafruit Community Code of Conduct
2020-04-14 22:08:49 -04:00
Scott Shawcroft
b580b34cbf
Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-14 17:14:44 -07:00
Scott Shawcroft
7dfcae6067
Tweaks from jepler 2020-04-14 17:09:48 -07:00
Dan Halbert
11d6e177c0
Fix my discord username 2020-04-14 19:56:36 -04:00
Jeff Epler
7ed1483b89
Merge pull request #2706 from jepler/protomatter
Protomatter: Integrate with CircuitPython
2020-04-14 18:55:40 -05:00
Scott Shawcroft
ebd98bfc7b
Update to the Adafruit Community Code of Conduct
It better reflects our standards and also addresses chats. History of how it evolved from the Contributor Covenant is here: https://github.com/adafruit/Adafruit_Community_Code_of_Conduct/commits/master
2020-04-14 16:50:08 -07:00
3c018bf7fd make translate 2020-04-14 18:26:16 -05:00
d8362ef654 displayio: swap colors in palettes too
.. change the in-rom palette to be in RGB565 order
2020-04-14 18:25:00 -05:00
0ce9c008c5 Protomatter: Make all arguments kw-only, add rgb count and optional height checking
They're not readily distinguishable by type.

I also added the requested height optional parameter; this is checked
against the computed one.  It's not feasible to use this parameter to
artificailly reduce the number of used rows, because changes in the
underlying C protomatter library would be required.

Finally, I added a better error message when the number of RGB pins was
not what was expected.
2020-04-14 18:24:59 -05:00
880fff80e9 protomatter: Respond to review comments
- rename oe_pin -> output_enable_pin
 - improve and reorganize docstrings
 - rename swapbuffers->refresh
 - rename "paused" -> "brightness", change semantics slightly
 - common_hal several functions
 - clarify why the common_hal routines can't be used directly in the
   protocol's function pointers
 - whitespace cleanups
 - remove prototypes for nonexistent functions
2020-04-14 18:24:59 -05:00
5d328c3b44 protomatter: clarify by comment why these functions exist 2020-04-14 18:24:58 -05:00
ba20bc8b43 framebufferio: move backlight down to the underlying framebuffer 2020-04-14 18:24:58 -05:00
129c6369cf protomatter: code style 2020-04-14 18:24:58 -05:00
4a05e938ed protomatter: validate pins to give better error message
The numbered error from the underlying library is not helpful for
beginning users
2020-04-14 18:24:58 -05:00
e4c6b241a9 protomatter: Use low end of supervisor heap
Per @tannewt, this area "sees more churn", so it's probably the right
choice here
2020-04-14 18:24:58 -05:00
9019710a1e protomatter: improve an error message 2020-04-14 18:24:58 -05:00
b1fab1cdac Make stripping circuitpython optional, not the default 2020-04-14 18:24:58 -05:00
5dae23c0e7 protomatter: release the protomatter object during release_displays() 2020-04-14 18:24:58 -05:00
0ca270172f protomatter: allocator: Never supervisor-alloc while gc available
This may have been contributing to fragmentation of the supervisor
heap
2020-04-14 18:24:58 -05:00
23bced26da samd: actually disable protomatter timer
Just setting the timer handler to NO_INTERRUPT doesn't stop the
interrupt from occurring.
2020-04-14 18:24:58 -05:00
baf04b7738 FramebufferDisplay: remove probably not needed constructor arguments 2020-04-14 18:24:58 -05:00
50219862e1 protomatter: make docstring match implementation 2020-04-14 18:24:58 -05:00
a663a7dd30 _protomatter: move get/set paused into shared-module 2020-04-14 18:24:58 -05:00
caea4e010f deinit: Work harder to ensure storage is released at deinit 2020-04-14 18:24:58 -05:00
5fcba97a51 Make function name more descriptive 2020-04-14 18:24:58 -05:00
89eb45a13c use floor division in docstring
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-04-14 18:24:58 -05:00
759fdffda5 Update ports/atmel-samd/boards/pyportal_titano/board.c
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-04-14 18:24:58 -05:00
1f3821220e fix build for non-displayio & non-protomatter targets 2020-04-14 18:24:58 -05:00
3a94412cd3 protomatter: more memory allocation fixes
- bump supervisor alloc count by 4 (we actually use 5)
 - move reconstruct to after gc heap is reset
 - destroy protomatter object entirely if not used by a FramebufferDisplay
 - ensure previous supervisor allocations are released
 - zero out pointers so GC can collect them
2020-04-14 18:24:58 -05:00
1d8a073c05 nrf: protomatter port 2020-04-14 18:24:58 -05:00
09dc46a984 Add Protomatter and FramebufferDisplay 2020-04-14 18:24:54 -05:00
a51d4f7a45 pycubed: add trailing newline to file
POSIX specifies that text files end in a trailing newline
2020-04-14 18:24:54 -05:00
Jeff Epler
094fe05bdd allow retrieving info about a supervisor allocation 2020-04-14 18:24:54 -05:00
8cba145c90 displayio: implement, use allocate_new_display_bus_or_raise 2020-04-14 18:24:54 -05:00
6378d600c4 displayio: implement, use allocate_display_or_raise 2020-04-14 18:24:54 -05:00
Scott Shawcroft
ada102dd98
Merge pull request #2767 from jepler/update-ulab
ulab: Get updates from upstream
2020-04-14 15:59:33 -07:00
135fb5b887 py.mk: update warning flags needed for ulab 2020-04-14 15:37:36 -05:00
Scott Shawcroft
e063b066f0
Merge pull request #2756 from caternuson/bitmap_fill
Add fill method to displayio.Bitmap
2020-04-14 12:54:44 -07:00
cc21bed0e4 ulab: Get updates from upstream 2020-04-14 10:09:00 -05:00
Jeff Epler
693928d201 doc updates 2020-04-13 20:10:02 -05:00
Jeff Epler
db01f88cc3 enable MICROPY_PY_REVERSE_SPECIAL_METHODS where ulab is enabled 2020-04-13 19:58:52 -05:00
Jeff Epler
d19700e975 make translate 2020-04-13 19:23:06 -05:00
d1a2a1a333 test requires yield, can't run native 2020-04-13 19:00:16 -05:00
ca97964701 ulab: Get updates from upstream 2020-04-13 19:00:16 -05:00
caternuson
a9fb34eb93 make packed word and copy it in 2020-04-13 16:48:27 -07:00
Lucian Copeland
83a55f65a4 Implement cache-based reads 2020-04-13 15:14:38 -04:00
Lucian Copeland
426d2afe28 Fix pin mapping for the H7 Nucleo 2020-04-13 14:36:49 -04:00
Dan Halbert
1f17bdb4ff
Merge pull request #2765 from jepler/checkout-v2-subomdules
switch to checkout@v2 with submodules and fetch-depth 0
2020-04-13 14:01:13 -04:00
Lucian Copeland
6227e63cc5 Merge remote-tracking branch 'upstream/master' into stm32x7-setup 2020-04-13 12:03:56 -04:00
Lucian Copeland
5ac38c95cc Various requested fixes 2020-04-13 12:03:05 -04:00
f817bfe3c6 switch to checkout@v2 with submodules and fetch-depth 0
In order to get tags, including in submodules, we use our own fetching
procedure on top of checkout@v2.

A problem occuring in about 1% of jobs was that some submodules inexplicably
did not have an "origin" remote configured.  "git submodule sync"
configures the "origin" remote in those cases.  No cause for the problem
was determined.

Besides keeping up to date on actions/checkout, @v2 is supposed to fix a bug
where "re-run" of a pull request would fail checking out the code.
2020-04-11 17:29:07 -05:00
Dan Halbert
76f3aa4766
Merge pull request #2764 from larsks/bug/max-keycode
Fix maximum keycode in keyboard HID descriptor
2020-04-11 10:49:39 -04:00
Dan Halbert
a4c86e1e12
Merge pull request #2763 from larsks/bug/bad-submodule-path
Fix bad submodule path
2020-04-11 10:04:24 -04:00
Lars Kellogg-Stedman
8797e3347f Fix maximum keycode in keyboard HID descriptor
The HID descriptor reported by circuitpython erroneously limited the
maximum keycode to 101, which prevented circuitpython from sending a
number of otherwise valid keycodes.

Closes #274
2020-04-11 10:02:18 -04:00
Lars Kellogg-Stedman
abf79de785 Fix bad submodule path
The repository URL for extmod/ulab had a trailing slash, causing
errors when trying to clone it.

Closes #2762
2020-04-11 09:02:52 -04:00
Scott Shawcroft
44cf7988c0
Merge pull request #2758 from ElectronicCats/nfc_copy
NFC Copy Cat
2020-04-10 11:36:35 -07:00
Scott Shawcroft
2e29cbf598
Merge pull request #2757 from sommersoft/sphinx3_fix
RFC: Use Sphinx 3 To Build Docs
2020-04-10 11:33:30 -07:00
sabas1080
0e06a88fdd update YML 2020-04-09 17:19:06 -05:00
Sabas
cac4fb0318
Merge branch 'master' into nfc_copy 2020-04-09 17:05:11 -05:00
sabas1080
2a47623283 update build.yml 2020-04-09 17:00:42 -05:00
Scott Shawcroft
a6fb0beaa9
Update translations 2020-04-09 13:16:32 -07:00
sommersoft
1d64c51b7e build.yml: pin Sphinx to '<4' 2020-04-09 15:14:26 -05:00
sabas1080
49771b4d7f Update to v1.3 2020-04-09 14:27:51 -05:00
Lucian Copeland
92a0621e59 Add busio support, cleanup 2020-04-09 13:43:19 -04:00
caternuson
dc75746842 add docstring, clean up 2020-04-09 08:59:26 -07:00
caternuson
49fff2d9b4 initial working fill 2020-04-09 08:43:50 -07:00
sommersoft
4ac88e4df8 build.yml: unpin Sphinx install; 2020-04-09 09:13:02 -05:00
sommersoft
b5d98da6fc Merge branch 'master' of https://github.com/adafruit/circuitpython into sphinx3_fix 2020-04-09 09:10:55 -05:00
sommersoft
ae07ced795 conf.py: drop '.h' docs rendering (nothing to build); fix deprecated 'source_parsers' usage 2020-04-09 08:49:32 -05:00
sommersoft
cb818ca832 conf.py: update deprecated stylesheet API; 'add_stylesheet()' renamed to 'add_css_file()' 2020-04-09 08:47:33 -05:00
sommersoft
61bab8e62e ulab/__init__.rst: fix attribute name; uint8 -> uint16 2020-04-09 08:45:26 -05:00
sommersoft
1c45a261c4 network.rst: remove duplicate method directive 2020-04-09 08:44:35 -05:00
siddacious
b3b8b5ca71
Merge pull request #2753 from tannewt/fix_clue_display
Save backlight_on_high correctly.
2020-04-08 15:43:44 -07:00
Scott Shawcroft
01941c027b
Fix up STM
Enable the Alarm IRQ earlier and correct bit clearing.
2020-04-08 14:41:57 -07:00
Max Holliday
01e260b276
Merge pull request #3 from maholli/non-standard-nvm
add standard SPI support to QSPI for external flash
2020-04-08 13:04:39 -07:00
Scott Shawcroft
9e34da44c3
Use newer Ubuntu for CI.
Maybe it's update server will be more reliable.
2020-04-08 10:53:42 -07:00
Scott Shawcroft
d0a25ca9ac
Tweaks based on dhalberts feedback 2020-04-08 10:49:46 -07:00
Scott Shawcroft
4ee6754ccd
Save backlight_on_high correctly.
Fixes #2750
2020-04-08 10:32:54 -07:00
Max Holliday
181ecf4a9b fixing my goofy CROSS_COMPILE fix 2020-04-07 21:54:46 -07:00
Max Holliday
a53a26be70 missed a debug flag 2020-04-07 18:24:53 -07:00
Max Holliday
826837186c adds standard (non-queued) SPI support to QSPI for external flash 2020-04-07 18:17:25 -07:00
Scott Shawcroft
6544bf52fb
Enable SNVS interrupt
The iMX RT has a separate wake up controller, the GPC, that replaces
the NVIC when asleep. It adds the ability to only wake up on certain
interrupts. It seems that it requires at least one enabled interrupt
in the NVIC to turn on it's wake up circuitry. It doesn't need to
be the same interrupt as the wake up signal. For example, the RTC
in the SNVS can wake us up if a USB interrupt is enabled. Before
then it won't work. So, we enable the SNVS interrupt on start up
so it can wake us up.
2020-04-07 17:15:18 -07:00
Scott Shawcroft
aae0ce6bad
Fix autoreload and ticks on IMX RT 2020-04-07 14:16:07 -07:00
Scott Shawcroft
a8dfba235c
Fix alarm so that it is correctly set. 2020-04-07 13:07:29 -07:00
Dan Halbert
78c1448764
Merge pull request #2749 from tannewt/dont_use_sphinx3
Don't upgrade to Sphinx 3
2020-04-07 16:02:05 -04:00
Scott Shawcroft
fa7e35ab4a
Don't upgrade to Sphinx 3
The doc build doesn't complete and is likely broken for the inline
RST. We can move to 3 when we move the inline docs to Python stubs.
2020-04-07 11:48:36 -07:00
Scott Shawcroft
c49d2ea278
Don't upgrade to Sphinx 3
The doc build doesn't complete and is likely broken for the inline
RST. We can move to 3 when we move the inline docs to Python stubs.
2020-04-06 16:38:51 -07:00
Scott Shawcroft
c0ba2a839f
Updates based on feedback from jepler 2020-04-06 16:03:31 -07:00
Scott Shawcroft
2900d92235
Merge pull request #2747 from arturo182/imx-spi-init-check
mimxrt1011: Only re-init SPI when it's actually needed
2020-04-06 13:51:41 -07:00
arturo182
08f369ea96 mimxrt1011: Only re-init SPI when it's actually needed
If some crazy code (*cough* FourWire) decides to reconfigure the bus
before every transfer, it might get a bit slow...
2020-04-06 22:10:12 +02:00
Scott Shawcroft
e99cf6e441
Rework sleep timing
It didn't account for background task time and could end up
sleeping for way longer than it should because the RTC compare time
had already passed.
2020-04-03 18:07:56 -07:00
Scott Shawcroft
7e69d30c02
Fix nRF PulseIn 2020-04-03 14:22:56 -07:00
Lucian Copeland
9761672d42 Linker file restructure, TCM and MPU additions 2020-04-03 16:33:18 -04:00
Scott Shawcroft
c248730bd1
Clean up 2020-04-02 17:36:09 -07:00
Scott Shawcroft
46af4bdd0e
Fix SAMD21 PulseIn 2020-04-02 17:35:52 -07:00
Scott Shawcroft
e6f11947cb
Merge pull request #2744 from xobs/fomu-ram-text-functions
fomu: Place more functions into RAM
2020-04-02 11:41:05 -07:00
Scott Shawcroft
8fffbaf103
Merge pull request #2743 from jepler/python38
Fix testsuite for compatibility with Python 3.8
2020-04-02 11:27:53 -07:00
Lucian Copeland
47a5d83267 Implement F7 Nucleo 2020-04-02 11:47:16 -04:00
Sean Cross
9845a064ad ports: fomu: move more functions into ram for stability
The SPI flash on current Fomu firmware is slow.  Circuitpython runs
XIP from SPI flash, and so execution time can also be slow.  Ordinarily
this isn't a problem, however certain operations are time-sensitive.

In particular, USB function needs to be handled quickly in order to
prevent the host from re-enumerating the device.

Place several critical TinyUSB structures into RAM, as well as several
hot functions that are frequently called.  This reduces execution time
at the expense of system memory, and greatly improves system stability.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-02 11:21:22 +08:00
ffe73a4c3f workflows: use current (3.8) python
now the need for 3.5 has been fixed
2020-04-01 16:31:33 -05:00
Damien George
aa10e5c334 tests: Add .exp files for basics/parser and import/import_override.
Because CPython 3.8.0 now produces different output:
- basics/parser.py: CPython does not allow '\\\n' as input.
- import/import_override: CPython imports _io.
2020-04-01 16:31:33 -05:00
Lucian Copeland
80b08bfaec Merge branch 'stm32x7-setup' of https://github.com/hierophect/circuitpython into stm32x7-setup 2020-04-01 13:53:12 -04:00
Lucian Copeland
2f764ded63 merge and docs 2020-04-01 13:52:53 -04:00
hierophect
5703d1d73f
Merge branch 'master' into stm32x7-setup 2020-04-01 13:06:42 -04:00
Lucian Copeland
a89928c13c Implement requested changes 2020-04-01 13:02:05 -04:00
Scott Shawcroft
77562a2acd
Update the supported ports 2020-03-31 18:27:55 -07:00
Scott Shawcroft
75b7f583d2
Update LiteX APIs for new tick 2020-03-31 17:52:23 -07:00
Scott Shawcroft
1071924701
Fix thunderpack build 2020-03-31 17:05:37 -07:00
Scott Shawcroft
317b96e93a
Fix iMX builds 2020-03-31 17:00:30 -07:00
Damien George
764e65fb11 tests/basics: Provide .exp files for generator tests that fail PEP479.
PEP479 (see https://www.python.org/dev/peps/pep-0479/) prohibited raising
StopIteration from within a generator (it is turned into a RuntimeError).
This behaviour was introduced in Python 3.5 and in 3.7 was made compulsory.
Until uPy implements PEP479, this patch adds .py.exp files for the relevant
tests so they can be run under Python 3.7.
2020-03-31 17:27:10 -05:00
Damien George
8f0147cf00 tests: Modify tests that print repr of an exception with 1 arg.
In Python 3.7 the behaviour of repr() of an exception with one argument
changed: it no longer prints a trailing comma in the argument list.  See
https://bugs.python.org/issue30399

This patch modifies tests that rely on this behaviour to not rely on it.
And the python34.py test is updated to include a test for this behaviour
with a .exp file.
2020-03-31 17:27:10 -05:00
Damien George
4c4f81f8f2 tests/basics/int_big_error.py: Use bytearray to test for int overflow.
In Python 3.7 "1 >> (big int)" is now allowed, it no longer raises an
OverflowError.  So use bytearray to test big-int conversion overflow.
2020-03-31 17:27:10 -05:00
Damien George
8b5fd95897 tests/basics/set_pop.py: Sort set before printing for consistent output. 2020-03-31 17:27:10 -05:00
Scott Shawcroft
8fe512c7e9
Merge remote-tracking branch 'adafruit/master' into lower_power 2020-03-31 15:13:58 -07:00
Scott Shawcroft
4b063aeb29
Hack up STM32 PulseIn so it builds 2020-03-31 15:12:11 -07:00
Scott Shawcroft
f47b964c5f
Merge pull request #2726 from xobs/fomu-circuitpython
ports: litex: add port and fomu board
2020-03-31 13:51:09 -07:00
Scott Shawcroft
cbe9512691
Merge pull request #2741 from tannewt/fix_packetbuffer_server
Fix PacketBuffer server support
2020-03-31 13:39:34 -07:00
Sean Cross
7959544322 tools: add dfu extension and mark litex as dfu
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 14:08:14 +08:00
Sean Cross
c69f7f8657 ports: litex: use dfu.py instead of dfu-suffix.py
dfu.py now generates proper dfu suffixes without the nonstandard prefix.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 13:04:59 +08:00
Sean Cross
e8db880e7f tools: rename dfu-suffix.py to dfu.py
dfu.py is unused in circuitpython, so rename dfu-suffix.py to replace it.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 13:03:53 +08:00
Sean Cross
34ea140783 ports: fomu: build dfu as part of Makefile
Now that we have a replacement for `dfu-suffix`, construct a dfu
image rather than a UF2 image.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 11:42:55 +08:00
Sean Cross
c91d364a58 tools: add dfu-suffix.py
This reproduces `dfu-suffix` from the `dfu-tools` package.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 11:36:57 +08:00
Sean Cross
3c767cc5e1 workflows: move riscv to its own section
The riscv compilers shouldn't be in a section called "build-arm".

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 10:53:58 +08:00
Sean Cross
56ef51d392 workflow: add litex_fomu to ci
This adds fomu and litex and fomu to build on ci.  It requires downloading
a riscv toolchain.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 10:21:00 +08:00
Sean Cross
065441e58c ports: litex: enable itcm region for fomu
This adds a new command line flag -DFOMU to indicate we're building
for a Fomu board.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 09:40:38 +08:00
Sean Cross
1902579b46 supervisor: enable itcm memory region for fomu
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 09:40:38 +08:00
Sean Cross
786e79ebc9 ports: litex: add port and fomu board
This adds support for Litex, along with support for the Fomu FPGA board.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 09:40:38 +08:00
Scott Shawcroft
e8cffcf978
Merge pull request #2740 from arturo182/mimxrt10xx_neopixel
mimxrt10xx: Fix neopixel_write
2020-03-30 17:49:14 -07:00
Scott Shawcroft
81139aec23
Update translations 2020-03-30 17:04:33 -07:00
Scott Shawcroft
7bfc8b437b
Merge pull request #2739 from bd34n/master
board_vina_m0:pins.c: PGM_LED is on PA28 not PA15.
2020-03-30 16:45:47 -07:00
arturo182
13022be299 mimxrt10xx: Fix neopixel_write 2020-03-31 01:05:03 +02:00
Brian Dean
7cfa8e1a68 board_vina_m0:pins.c: PGM_LED is on PA28 not PA15. 2020-03-29 18:59:00 -04:00
Lucian Copeland
e2be069686 Support cached internal flash on the H743 2020-03-28 18:30:46 -04:00
Jeff Epler
54e8c63b4f
Merge pull request #2730 from tannewt/fix_fourwire_phase_polarity
Add polarity and phase to FourWire.
2020-03-28 07:28:37 -05:00
Scott Shawcroft
a4a458943d
Correct MIMXRT sdk version 2020-03-27 15:40:17 -07:00
Scott Shawcroft
798118b74f
Update board.c's to remove remaining tick.h 2020-03-27 14:52:35 -07:00
Scott Shawcroft
e4c4a4a3de
Swap to committed dependencies 2020-03-27 14:39:59 -07:00
Scott Shawcroft
b043384949
Update built in display init 2020-03-27 14:35:29 -07:00
Scott Shawcroft
eeca3b10c9
Merge pull request #2737 from bd34n/master
Add new board for atmel-samd port: bdmicro_vina-m0
2020-03-27 12:31:49 -07:00
Lucian Copeland
7995bcac40 Flash additions 2020-03-27 14:15:33 -04:00
Brian Dean
7fa38e8725 Update board name to bdmicro_vina_m0 to eliminate hyphens. 2020-03-27 13:37:59 -04:00
Brian Dean
08ea95b22c Fix sort. "bd" comes *after* "ba". 2020-03-27 07:35:51 -04:00
Brian Dean
5e1b6b11e6 Fix tab introduced when adding bdmicro_vina-m0 board, should be
spaces.
2020-03-27 07:24:12 -04:00
Brian Dean
d8769e32e1 Add bdmicro_vina-m0 board to workflows/build.yml. 2020-03-26 22:08:28 -04:00
Brian Dean
14a1e5756e Merge branch 'master' of https://github.com/adafruit/circuitpython 2020-03-26 20:28:54 -04:00
Brian Dean
2ae9edcbff Add new board BDMICRO 'Vina M0'.
ports/atmel-samd/boards/bdmicro_vina_m0/board.c
ports/atmel-samd/boards/bdmicro_vina_m0/mpconfigboard.h
ports/atmel-samd/boards/bdmicro_vina_m0/mpconfigboard.mk
ports/atmel-samd/boards/bdmicro_vina_m0/board.c

This board includes the newly added MX25L51245G 64MB SPI flash chip
for the CircuitPython file system. Also included is the PCF2129T/2,518
high accuracy, battery backed, RTC. Also includes an independent USB
HOST connector in addition to USB DEVICE making it easy to connect USB
peripherals. Designed mainly as a general purpose module to piggy back
onto application-specific boards, it can also run low power standalone
in harsh environments for data logging and other control applications
using an appropriate enclosure.

Has been extensively tested with CircuitPython and works well.
2020-03-26 20:15:54 -04:00
Lucian Copeland
348df4be2b Merge remote-tracking branch 'upstream/master' into stm32x7-setup 2020-03-26 18:16:11 -04:00
Lucian Copeland
c4db8b87e2 Add F7 and H7 Support to the STM32 port
Restructures the STM port of Circuitpython to be more generic about the STM32 chip lines to support
the F7 and H7 series of chips. Adds the new Packages directory to organize different chip layouts
between lines. Makes general changes to the Makefile to condense board-level flags to the minimum
and support the new chip series. Adds the new chip line to the Peripherals directory, along with
new python tools used to generate peripheral text automatically in the tools/ directory.
2020-03-26 18:01:17 -04:00
Scott Shawcroft
a870908718
Don't break the function signature 2020-03-26 14:11:20 -07:00
Scott Shawcroft
aec3b2419b
Merge pull request #2733 from oshwabadge2020/change_backlight
Add backlight polarity flag to Display
2020-03-26 14:00:47 -07:00
Scott Shawcroft
3959548054
Merge pull request #2734 from theacodes/add-flash-for-sol
Add GD25Q64C as a flash chip for Sol
2020-03-26 13:27:56 -07:00
Scott Shawcroft
4d2e986b9b
Merge pull request #2731 from bd34n/master
supervisor/shared/external_flash/devices.h: Add MX25L51245G support.
2020-03-26 13:11:02 -07:00
Scott Shawcroft
e2785f9c5f
Merge pull request #2732 from arturo182/mimxrt10xx_uart_fix
mimxrt10xx: Return proper UART read length when everything was read
2020-03-26 12:59:36 -07:00
Thea Flowers
ff67571e9a Add GD25Q64C as a flash chip for Sol 2020-03-26 12:33:27 -07:00
siddacious
9e0c00dfd4 adding a backlight polarity flag to Display 2020-03-25 22:51:20 -07:00
siddacious
7bba79363a allowing backlight change 2020-03-25 22:41:23 -07:00
Scott Shawcroft
8a5d3cd6c4
Add exception on small buffer and fix Connecion WRITE handling 2020-03-25 17:41:47 -07:00
arturo182
18c12e7822 mimxrt10xx: Return proper UART read length when everything was read 2020-03-26 00:15:48 +01:00
Brian Dean
b1d83c3f5e supervisor/shared/external_flash/devices.h: Add MX25L51245G support.
Add external flash support for Macronix MX25L51245G 64MiB SPI flash.
2020-03-25 17:16:09 -04:00
Scott Shawcroft
3551b769a2
Fix connection handle tracking in PacketBuffer when a server. 2020-03-25 13:31:18 -07:00
Scott Shawcroft
6b7acc65b6
Add polarity and phase to FourWire.
It was fixed as 0/0 even though it used to get it from the current
SPI state. This makes it more explicit with kwargs.

Thanks to magpie_lark and kmatocha on the Adafruit Support forum
for finding the issue: https://forums.adafruit.com/viewtopic.php?f=60&t=162515
2020-03-25 11:22:46 -07:00
Scott Shawcroft
59eb35da30
Merge pull request #2727 from burtyb/commander-1
Add support for Commander
2020-03-25 11:00:11 -07:00
Chris Burton
62ba45e9fa No change 2020-03-25 15:43:32 +00:00
Scott Shawcroft
ea0ce39962
Simplify STM a bit. 2020-03-24 15:49:24 -07:00
Scott Shawcroft
5e1e4d32db
Get basic sleep going on the iMX RT 1011 2020-03-24 15:46:10 -07:00
Chris Burton
5e559be9b5 Remove Adafruit_CircuitPython_CircuitPlayground 2020-03-24 21:10:34 +00:00
Chris Burton
5c36c73a3d Add to build.yml 2020-03-24 19:43:25 +00:00
Scott Shawcroft
f414f2b588
Merge pull request #2723 from jgillick/jgillick/circuitpython/stm32f411
Add new STM board: Thunderpack
2020-03-24 12:27:20 -07:00
Jeff Epler
385ea9d61d
Merge pull request #2728 from billmoser/nrf-baudrate-fix
Update ports/nrf/common-hal/busio/UART.c to include MIDI baud rate of 32150
2020-03-24 13:32:20 -05:00
William Moser
c961ed9025 Added 31250 and 56000 to baudrate_map in UART.c, to parallel definitions in nrfx/mdk/nrf*_bitfields.h files 2020-03-24 13:25:02 -04:00
jgillick
8ed4deee9d Rename pins 2020-03-23 23:06:55 -07:00
Scott Shawcroft
a8ed6d993c
Switch iMX RT to RTC. Untested. 2020-03-23 18:20:58 -07:00
Scott Shawcroft
653b7619ec
Add back microsecond delay to STM32 2020-03-23 16:09:50 -07:00
Scott Shawcroft
a56170d7f8
Temporarily swap samd-peripherals location 2020-03-23 15:02:24 -07:00
Scott Shawcroft
c0c4c4403a
Factor out stm32f4xx_hal_conf.h 2020-03-23 14:46:25 -07:00
jgillick
29ce756709 PR feedback. 2020-03-22 18:41:19 -07:00
jgillick
a79ac35173 Rename NVM_BYTEARRAY_BUFFER_SIZE 2020-03-22 15:20:58 -07:00
jgillick
68195a8dfe Update NVM_BYTEARRAY_BUFFER_LEN 2020-03-22 15:19:53 -07:00
Chris Burton
39a19d54c2 Add support for Commander 2020-03-22 16:23:56 +00:00
jgillick
5f7e51756f Add thunderpack to build. 2020-03-22 02:41:47 -07:00
jgillick
d76b76cb1d Add non-volatile memory support to STM 2020-03-22 02:22:59 -07:00
jgillick
fa95c1d09f Remove submodules included from micropython. 2020-03-22 02:21:24 -07:00
jgillick
c62b724b24 Merge remote-tracking branch 'circuitpython/master' into jgillick/circuitpython/stm32f412c 2020-03-21 23:36:15 -07:00
Dan Halbert
7e56f6eac2
Merge pull request #2721 from jepler/cannot-assign
runtime: Improve error message when setting read-only property
2020-03-21 10:59:32 -04:00
9d2270a979 runtime: Improve error message when setting read-only property
Formerly, if you wrote
   SPI.frequency = 0
you would get the sightly erroneous error message
   AttributeError: 'SPI' object has no attribute 'frequency'
In this case, a better message would read
   AttributeError: 'SPI' object cannot assign attribute 'frequency'

This new message will both be used in the case where the attribute doesn't
exist at all (and the object has no dynamic attributes; most instances of
built in types behave this way), or if the attribute exists but is
read-only.
2020-03-20 17:57:28 -05:00
Scott Shawcroft
2623022c84
Initial work for STM32. Need to fix us delay and PulseIn still. 2020-03-20 12:58:34 -07:00
Scott Shawcroft
98f5cf25a5
Merge pull request #2716 from jepler/pixelbuf-subscr
Pixelbuf: subscr: Get correct pixel value
2020-03-19 10:02:08 -07:00
jgillick
d9e491a9e8 Remove unnecessary change 2020-03-19 00:02:23 -07:00
jgillick
284073584a Cleanup 2020-03-19 00:01:32 -07:00
jgillick
9be2ab6008 Change the board to use an STM32F411 chip. 2020-03-18 23:55:18 -07:00
Scott Shawcroft
5dc3a8960b
Merge pull request #2719 from theacodes/add-honking-button
Add board support for Winterbloom Big Honking Button
2020-03-18 17:37:59 -07:00
Thea Flowers
e027aaf433 Remove some build options, fix order of boards in build.yml 2020-03-18 16:49:10 -07:00
Thea Flowers
25188f53a7 Add honking button to build workflow 2020-03-18 16:40:29 -07:00
Thea Flowers
7332adfa21 Add board support for Winterbloom Big Honking Button 2020-03-18 16:29:44 -07:00
310f2ccdf4 Pixelbuf: subscr: Get correct pixel value
Previously, the 0th pixel's value was always returned
2020-03-18 10:25:20 -05:00
jgillick
679314a22e Fix disable VBUS sensing. 2020-03-18 00:35:20 -07:00
Scott Shawcroft
4603c6ddd7
Merge pull request #2711 from jepler/update-ulab
update ulab
2020-03-17 15:33:08 -07:00
38a718ff55 Translations: follow stm port rename, run 'make translate' 2020-03-17 16:42:13 -05:00
aaf07ce72f
Update shared-bindings/ulab/__init__.rst
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-03-17 16:37:16 -05:00
Scott Shawcroft
6db11cf68b
Fix up Spresense build. It doesn't sleep. 2020-03-17 14:21:45 -07:00
Dan Halbert
9453e10c57
Merge pull request #2712 from tannewt/fix_dotstar_status
Fix DotStar status LED init.
2020-03-17 15:53:08 -04:00
Scott Shawcroft
612ba2f45d
Fix DotStar status LED init. 2020-03-17 12:11:11 -07:00
Scott Shawcroft
d9e68156b2
fix up SAMD21 sleep 2020-03-17 12:10:35 -07:00
Scott Shawcroft
4297ae2d0b
Fix DotStar status LED init. 2020-03-17 12:10:12 -07:00
96f2288b84 ulab: include new 'extras' source file 2020-03-17 09:33:17 -05:00
d6342af980 ulab: rename enable macro so it appears in the support matrix 2020-03-17 09:33:03 -05:00
aa54a7e76e ulab: update documentation 2020-03-17 09:25:33 -05:00
69aa010cfc objslice: take mp_obj_slice_indices from micropython 2020-03-17 08:32:52 -05:00
772ac705d3 update ulab 2020-03-17 08:32:52 -05:00
jgillick
24d1fd2bf1 PR Cleanup. 2020-03-17 00:48:19 -07:00
jgillick
d41ef45a9b Update clock. 2020-03-17 00:36:18 -07:00
jgillick
cbc0e0344d Revert changes to system_stm32f4xx.c 2020-03-17 00:36:12 -07:00
jgillick
07549b7fd9 Bring back trimmed spaces. 2020-03-17 00:27:04 -07:00
Scott Shawcroft
c8d9edd939
Merge pull request #2705 from NightSkySK/UARTlogger2
add UARTLogger2 board support for CircuitPython
2020-03-16 16:28:42 -07:00
Scott Shawcroft
2317fb5873
Merge pull request #2710 from dkhawk/patch-1
Fix documentation typo: tm_minute should be tm_min
2020-03-16 16:17:40 -07:00
Lucian Copeland
bb3ed3a827 Merge branch 'master' into stm32x7-setup 2020-03-16 12:37:53 -04:00
Dale Hawkins
8ae103e07c
Fix documentation typo: tm_minute should be tm_min 2020-03-16 09:07:10 -06:00
jgillick
8a93a81a26 Chip specific code. 2020-03-15 22:31:36 -07:00
jgillick
5dbdf72472 Fix LED port. 2020-03-15 19:36:16 -07:00
jgillick
f884c2b9b6 Incremental update 2020-03-15 19:34:41 -07:00
jgillick
6f153804da Add initial thunderpack port files. 2020-03-14 00:03:14 -07:00
Scott Shawcroft
76ca13b6ed
Fix SAMD51 pulsein 2020-03-13 17:21:15 -07:00
Scott Shawcroft
7100d5e485
Fix autoreload and ticks in general 2020-03-13 16:13:24 -07:00
Scott Shawcroft
df5be65423
Update FrequencyIn for new clock API. 2020-03-13 16:12:52 -07:00
Szymon Klause
9fa270e330 spacing correction 2020-03-13 22:58:39 +01:00
Szymon Klause
c9aa50817c add UARTLogger2 board support for CircuitPython 2020-03-13 21:39:17 +01:00
Scott Shawcroft
4fba4eb133
Switch from 1k RTC input to 32k output 2020-03-13 11:16:41 -07:00
Scott Shawcroft
48b5f2a384
Initial work on SAMD 2020-03-13 11:16:41 -07:00
Scott Shawcroft
affd3fcc2a
Clear the pending IRQ in the NVIC as well. 2020-03-13 11:16:38 -07:00
Scott Shawcroft
00d5f63e7c
Hopefully fix PulseIn 2020-03-13 11:12:31 -07:00
Scott Shawcroft
ed5cdd7e09
Hopefully fix flash flush and hopefully audio as well. 2020-03-13 11:12:31 -07:00
Scott Shawcroft
418333979a
Fix autoreload, neopixel, monotonic_ns and sleep w/o SD 2020-03-13 11:12:31 -07:00
Scott Shawcroft
6f60afe8c5
First try at lowering the power consumption 2020-03-13 11:12:30 -07:00
Scott Shawcroft
3a5f79acef
Merge pull request #2701 from hierophect/stm32-submodule-swap
STM32: Change ST drivers submodule to match TinyUSB
2020-03-13 10:47:54 -07:00
Scott Shawcroft
85f44e20cb
Merge pull request #2695 from TG-Techie/master
Add new TG-Watch02A to the nrf boards directory
2020-03-13 10:46:48 -07:00
TG-Techie
137d5c34fa fix board sorting (due to T being before a anf t) 2020-03-12 20:39:42 -04:00
TG-Techie
7907ef5979 add TG-Watch02A to build workflow 2020-03-12 20:30:45 -04:00
Lucian Copeland
ef7370d023 Change ST drivers submodule to match TinyUSB 2020-03-12 17:14:09 -04:00
hierophect
0f64663c40
Merge pull request #2699 from hierophect/stm32-port-namechange
STM32: port directory name change
2020-03-12 15:45:22 -04:00
Lucian Copeland
18442c5b00 Merge remote-tracking branch 'upstream/master' into stm32-port-namechange 2020-03-12 15:40:44 -04:00
hierophect
dd21ec048a
Merge pull request #2697 from hierophect/stm32-pulsein
STM32: add PulseIn module
2020-03-12 15:39:54 -04:00
Lucian Copeland
0155fab356 Revise style on interrupt handler functions 2020-03-12 15:03:47 -04:00
Lucian Copeland
bb167f04fa WIP 2020-03-12 14:54:43 -04:00
Lucian Copeland
ead32ea6e6 Comment change for CI 2020-03-12 11:21:32 -04:00
TG-Techie
197dc344af fix requested changes 2020-03-12 02:31:13 -04:00
Lucian Copeland
f81e2c0487 change CI target 2020-03-11 19:00:49 -04:00
Lucian Copeland
7ff336fbc5 Change docs target 2020-03-11 18:50:56 -04:00
Lucian Copeland
127e531271 remove old directory 2020-03-11 18:16:52 -04:00
Lucian Copeland
be7def128a submodule move and sync 2020-03-11 18:16:16 -04:00
Lucian Copeland
53b1544f41 create copy 2020-03-11 18:13:06 -04:00
Lucian Copeland
2a082baa63 Add up to date translations 2020-03-11 17:53:22 -04:00
Lucian Copeland
38064750f9 Merge remote-tracking branch 'upstream/master' into stm32-pulsein 2020-03-11 16:39:11 -04:00
Lucian Copeland
2b161d37df stm32: add PulseIn module 2020-03-11 16:37:40 -04:00
TG-Techie
b967a2071f changed TG-Watch02A HW_BOARD_NAME 2020-03-10 23:07:25 -04:00
TG-Techie
50b451ae0c add TG-Watch02A board def 2020-03-10 22:40:55 -04:00
Scott Shawcroft
d988af02d1
Merge pull request #2690 from jepler/topic-pep-498-fstrings
Implement partial PEP-498 (f-string) support
2020-03-10 10:53:04 -07:00
Dan Halbert
6363b5ad06
Merge pull request #2693 from jepler/ulab-enable
ulab: enable on most builds
2020-03-10 09:48:46 -04:00
03a2b2faf1 ulab: don't enable on m0 boards 2020-03-09 23:00:21 -05:00
ef195d6e1b Update tests
* string_pep498_fstring.py: Not compatible with python3.5
 * cmd_parsetree.py: enumerated constants changed
2020-03-09 21:13:33 -05:00
Scott Shawcroft
df88939128
Merge pull request #2666 from dhalbert/assert_pin-and-mp_const_none-cleanup
validate various displayio args; new pin validation routines; don't use mp_const_none if NULL will do
2020-03-09 16:35:57 -07:00
Scott Shawcroft
eebe769973
Merge pull request #2692 from jepler/ulab-upstream
ulab: Use https://github.com/v923z/micropython-ulab/
2020-03-09 16:28:56 -07:00
491a31a731 circuitpy_mpconfig.mk: Enable ULAB for "full builds"
This enables it on the imxrt and cds56 ports where it was disabled before
2020-03-09 15:54:40 -05:00
66aa0dec60 stm32: enable ulab
This is needed because stm32 defines CIRCUITPY_MINIMAL_BUILD "for early
port".
2020-03-09 15:54:40 -05:00
e128d770f1 cdx56: prepare to enable ulab
This involves fixing support for SRC_MOD and enabling INTERNAL_LIBM
including adding support for SRC_LIBM.
2020-03-09 15:54:40 -05:00
eab9b670d8 ulab: Use https://github.com/v923z/micropython-ulab/
The only delta we were carrying was in the README.
2020-03-09 14:48:52 -05:00
473e9c5ffb f-strings: Make optional, defaulting to !CIRCUITPY_MINIMAL_BUILD
This should reclaim *most* code space added to handle f-strings.
However, there may be some small code growth as parse_string_literal
takes a new parameter (which will always be 0, so hopefully the optimizer
eliminates it)
2020-03-09 09:03:25 -05:00
32647cd9b4 lexer: catch concatenation of f'' and '' strings
This turns the "edge case" into a parse-time error.
2020-03-09 09:03:25 -05:00
acd7b8932f locale: run 'make translate' 2020-03-09 08:19:46 -05:00
Josh Klar
40bc05ee1e Address dpgeorge feedback - largely simplifications 2020-03-09 08:16:07 -05:00
Josh Klar
3a7a5ba686 py: Implement partial PEP-498 (f-string) support
This implements (most of) the PEP-498 spec for f-strings, with two
exceptions:

- raw f-strings (`fr` or `rf` prefixes) raise `NotImplementedError`
- one special corner case does not function as specified in the PEP
(more on that in a moment)

This is implemented in the core as a syntax translation, brute-forcing
all f-strings to run through `String.format`. For example, the statement
`x='world'; print(f'hello {x}')` gets translated *at a syntax level*
(injected into the lexer) to `x='world'; print('hello {}'.format(x))`.
While this may lead to weird column results in tracebacks, it seemed
like the fastest, most efficient, and *likely* most RAM-friendly option,
despite being implemented under the hood with a completely separate
`vstr_t`.

Since [string concatenation of adjacent literals is implemented in the
lexer](534b7c368d),
two side effects emerge:

- All strings with at least one f-string portion are concatenated into a
single literal which *must* be run through `String.format()` wholesale,
and:
- Concatenation of a raw string with interpolation characters with an
f-string will cause `IndexError`/`KeyError`, which is both different
from CPython *and* different from the corner case mentioned in the PEP
(which gave an example of the following:)

```python
x = 10
y = 'hi'
assert ('a' 'b' f'{x}' '{c}' f'str<{y:^4}>' 'd' 'e') == 'ab10{c}str< hi >de'
```

The above-linked commit detailed a pretty solid case for leaving string
concatenation in the lexer rather than putting it in the parser, and
undoing that decision would likely be disproportionately costly on
resources for the sake of a probably-low-impact corner case. An
alternative to become complaint with this corner case of the PEP would
be to revert to string concatenation in the parser *only when an
f-string is part of concatenation*, though I've done no investigation on
the difficulty or costs of doing this.

A decent set of tests is included. I've manually tested this on the
`unix` port on Linux and on a Feather M4 Express (`atmel-samd`) and
things seem sane.
2020-03-09 08:16:07 -05:00
Limor "Ladyada" Fried
83d5da95b7
Merge pull request #2684 from caternuson/doc_add_sensors
Add proximity and sound_level to Design Guide
2020-03-06 18:10:47 -05:00
caternuson
125409fe95 add proximity and sound_level 2020-03-06 13:31:08 -08:00
TG-Techie
fec84054d9 ah 2020-03-06 15:03:37 -05:00
Dan Halbert
fdcdc1320b Make ParallelBus reset ping arg required 2020-03-06 14:30:30 -05:00
TG-Techie
7198056bc3
Merge pull request #2 from adafruit/5.0.x
5.0.x
2020-03-06 13:57:31 -05:00
TG-Techie
03dfd28121 trying to pull 5.0.x 2020-03-06 13:52:47 -05:00
Dan Halbert
127e6fa27e Revert "try actions/checkout@v2"
This reverts commit b492ea69cb.
2020-03-05 23:13:14 -05:00
Dan Halbert
b492ea69cb try actions/checkout@v2 2020-03-05 23:06:30 -05:00
Dan Halbert
210c3274e5 Merge remote-tracking branch 'adafruit/master' into assert_pin-and-mp_const_none-cleanup 2020-03-05 17:47:01 -05:00
Dan Halbert
817b5be320 rename routines to be clearer; fix wiznet arg types 2020-03-05 16:35:31 -05:00
Jeff Epler
4fa90261a3
Merge pull request #2657 from tannewt/builtin_package
Support importing native modules in native packages.
2020-03-05 14:28:46 -06:00
Dan Halbert
e81930fb9e
Merge pull request #2681 from theacodes/disable-hid-on-sol
Disable the HID USB descriptor for Sol
2020-03-05 09:31:16 -05:00
Thea Flowers
409a4a9490 Disable the HID USB descriptor for Sol
It's not used and ends up being confusing for folks.
2020-03-04 23:22:46 -08:00
Scott Shawcroft
b4e1955526
Merge pull request #2583 from jepler/ulab
Add 'ulab' as an extmod; enable on nrf and most samd51 boards
2020-03-04 11:46:17 -08:00
Scott Shawcroft
4aec5d1e83
Merge pull request #2680 from hierophect/stm32-clock-hotfix
STM32: Fix restriction on GPIO clock enables for F407 Discovery board
2020-03-04 11:43:33 -08:00
da31acfcc4 Merge remote-tracking branch 'origin/master' into ulab 2020-03-03 20:13:53 -06:00
Dan Halbert
e98991fd7e
Merge pull request #2678 from adafruit/5.0.x
Merge in 5.0.x changes
2020-03-03 17:31:36 -05:00
Lucian Copeland
55e13715a9 Expand GPIO clock enables for F405 and F407 2020-03-03 17:21:47 -05:00
Scott Shawcroft
6468ca04a4
Merge pull request #2668 from hierophect/stm32-pulseout
STM32: Add PulseOut support
2020-03-03 13:11:24 -08:00
hierophect
3178462218
Merge branch 'master' into stm32-pulseout 2020-03-03 15:03:19 -05:00
Scott Shawcroft
2fea811c30
Merge pull request #2672 from jepler/fuzz
Makefiles: add targets to build unix port, mpy-cross for fuzzing
2020-03-03 11:36:53 -08:00
Scott Shawcroft
17458ad81a
Merge pull request #2662 from jepler/issue2332
Fix unaligned disk reads properly
2020-03-03 11:27:50 -08:00
Scott Shawcroft
274cb597b0
Remove debug extern 2020-03-03 10:55:50 -08:00
Jeff Epler
c0bfa11766 Use tests from ulab extmod, instead of our own 2020-03-03 12:46:59 -06:00
Scott Shawcroft
2e370008c3
Merge pull request #2670 from jepler/compile-assertion-errors
Turn certain assertion errors in mpy-cross into SyntaxErrors
2020-03-03 10:11:36 -08:00
Lucian Copeland
eb71bfe9d3 Exclude SoCs without basic timers 2020-03-02 11:22:40 -05:00
Jeff Epler
402262a843 make translate 2020-03-02 09:13:06 -06:00
Dan Halbert
ba0c14f9dd
Merge pull request #2671 from dhalbert/merge-for-5.0.0-rc.1
Merge for 5.0.0 rc.1
2020-03-01 15:39:26 -05:00
74bf17bb0d Makefiles: add targets to build unix port, mpy-cross for fuzzing
This assumes you have properly install afl-fuzz with afl-clang-fast.
Tested with AFLplusplus 2.60c-75-g2c6847b.
2020-03-01 11:48:33 -06:00
Dan Halbert
898f67ac2e Merge branch 'master' into merge-for-5.0.0-rc.1 2020-03-01 12:22:18 -05:00
Dan Halbert
7528814617
Merge pull request #2664 from dhalbert/downloads-from-s3
Download links from S3; Do not upload release assets to GitHub
2020-03-01 11:43:55 -05:00
862830da32 compile: Give a proper error on 'async with'/'async for' outside 'async def'
A simple reproducer is:
   async for x in():x
2020-03-01 09:40:43 -06:00
511c180869 parse: push_result_token: throw an exception on too-long names
Before this, such names would instead cause an assertion error inside
qstr_from_strn.

A simple reproducer is a python source file containing the letter "a"
repeated 256 times
2020-03-01 09:38:34 -06:00
Jeff Epler
dc64857a7d
Merge branch 'master' into ulab 2020-02-29 21:54:39 -06:00
Dan Halbert
e30b1d3121 missing semicolon 2020-02-29 22:48:11 -05:00
Dan Halbert
5bb23536b7 Merge branch 'assert_pin-and-mp_const_none-cleanup' of https://github.com/dhalbert/circuitpython into assert_pin-and-mp_const_none-cleanup 2020-02-29 15:57:35 -05:00
Dan Halbert
8435935429 update uses of assert_pin_free; remove redundant checks 2020-02-29 15:37:32 -05:00
Lucian Copeland
6bb1649b4b Add translations 2020-02-29 14:52:49 -05:00
Lucian Copeland
611ef27ac2 stm32: Add PulseOut support
Matches the implementations of the NRF and Atmel ports. TIM7 is used as it does not have a tied pin. Contains some register micromanagement since HAL support for the TIM7 timer is limited.
2020-02-29 14:47:47 -05:00
Dan Halbert
b6206406de new pin validation routines; don't use mp_const_none if NULL will do 2020-02-28 23:43:04 -05:00
Dan Halbert
ce9a7d7e2a new pin validation routines; don't use mp_const_none if NULL will do 2020-02-28 23:32:24 -05:00
Dan Halbert
98a03fc935 upload bin and uf2 for arduino boards; remove unneeded build steps 2020-02-28 21:18:48 -05:00
Dan Halbert
29e44721d2
Merge pull request #2665 from arturo182/esp32_freeze
Freeze adafruit_requests and adafruit_esp32spi into mimxrt1011 Feathers
2020-02-28 21:05:19 -05:00
arturo182
0af00cf914 Freeze adafruit_requests and adafruit_esp32spi into feather_m7_1011 2020-02-29 00:39:22 +01:00
arturo182
3f26a0b06b Freeze adafruit_requests and adafruit_esp32spi into feather_mimxrt1011 2020-02-29 00:26:39 +01:00
Dan Halbert
c24a4f7d66 change download prefix to https://downloads.circuitpython.org 2020-02-28 16:25:12 -05:00
Dan Halbert
1b8a4791f5 Download links now point to S3 via CloudFront 2020-02-28 14:57:32 -05:00
Jeff Epler
eef742bf45 oofatfs: Remove _FS_DISK_READ_ALIGNED
This workaround is no longer needed, so it can be removed.

Closes: #2332
2020-02-28 10:04:28 -06:00
Jeff Epler
1e6c08fc30 nrf: sqpi_flash: Handle unaligned reads 2020-02-28 10:03:37 -06:00
Dan Halbert
0c2894c725
Merge pull request #2659 from mubes/i2cfixes
Fix I2C clock divider
2020-02-28 10:55:48 -05:00
TG-Techie
527eb2444c added TG-Watch02A pins 2020-02-28 04:11:54 -05:00
TG-Techie
75aea6b1ca
Merge pull request #1 from adafruit/master
add in 5.0rc changes
2020-02-28 02:54:41 -05:00
TG-Techie
6d4ffc69fd add TG-Watch02A 2020-02-28 02:52:46 -05:00
Jeff Epler
39cfe32c34 Update ulab from upstream again 2020-02-27 14:14:05 -06:00
Jeff Epler
645df931ae typos 2020-02-27 11:07:37 -06:00
fa3b9eba92 ulab: Incorporate it 2020-02-27 11:03:03 -06:00
4c710cf13b unix port: add help(), help('modules') 2020-02-27 08:31:01 -06:00
50438b51aa libm: Provide log2f 2020-02-27 08:30:12 -06:00
41e71485af libm: Disable float-equal diagnostics
I choose to believe these authors knew what they were doing.
2020-02-27 08:30:12 -06:00
Dave Marples
09a3153bf4 Fix I2C clock divider 2020-02-27 14:08:39 +00:00
Scott Shawcroft
6375d8699e
Validate builtin member is a module 2020-02-26 10:32:02 -08:00
arturo182
1b33cd11fc
Merge pull request #2658 from mubes/spi_fixes
Fix SPI clock speed on mimxrt10xx family & mimxrt1020 pinmux fixups
2020-02-26 16:37:05 +01:00
Dave Marples
aadb0bfc1e Fix SPI clock speed on mimxrt10xx family & mimxrt1020 pinmux fixup 2020-02-26 14:28:54 +00:00
Limor "Ladyada" Fried
3dc98a7a79
Merge pull request #2656 from ladyada/master
move red LED to D13 and make D3 lsm6ds IRQ
2020-02-25 18:34:40 -05:00
Scott Shawcroft
86fd93bd03
Support importing native modules in native packages.
This only fixes the `import` portion. It doesn't actually change
reference behavior because modules within a package could already
be referenced through the parent package even though an error should
have been thrown.
2020-02-25 15:32:55 -08:00
ladyada
86e9fd170a move red LED to D13 and make D3 lsm6ds IRQ 2020-02-25 18:00:23 -05:00
Jeff Epler
415cb351c7
Merge pull request #2655 from jepler/thing51
samd51 thing plus: new port
2020-02-25 14:13:47 -06:00
Scott Shawcroft
7037ebe0ec
Merge pull request #2653 from tannewt/fix_usb_eject_after_sleep
Fix Mac crash when waking up with an ejected CIRCUITPY
2020-02-25 10:54:42 -08:00
f20255813f samd51 thing plus: new port
testing performed:
 * successfully store and retrieve a 500kB file on the flash
 * square wave output on each pin appears on o'scope
 * board.SPI(), board.SERIAL(), board.I2C() all construct
2020-02-25 11:52:23 -06:00
Dan Halbert
09ab24b967
Merge pull request #2654 from tannewt/fix_crash_after_repl
Fix crash after empty REPL session
2020-02-24 21:50:08 -05:00
Scott Shawcroft
28c7a1e9c3
Fix crash after empty REPL session
We were trying to reset bluetooth when it was off and then trying
to raise an exception without the heap.
2020-02-24 16:11:17 -08:00
Scott Shawcroft
876c646d09
Fix Mac crash when waking up with an ejected CIRCUITPY
We now correctly set the reason for the unit not being ready and
always start the unit.

Fixes #2567
2020-02-24 15:40:52 -08:00
Dan Halbert
90c67673ad
Merge pull request #2649 from mubes/rs485inversionfix
Fix incorrect initialisation of default UART
2020-02-23 07:35:20 -05:00
Dave Marples
d41cf2e926 Fix incorrect initialisation of default UART 2020-02-23 11:16:24 +00:00
Dan Halbert
dcc8abf74e
Merge pull request #2638 from fgallaire/master
Arduino Nano 33 IoT support
2020-02-22 00:12:06 -05:00
Florent Gallaire
96db16a7a2 Last NINA pins 2020-02-22 04:30:18 +01:00
Scott Shawcroft
bd9572c8a4
Merge pull request #2648 from dhalbert/malloc-nrf-neopixel-write
cached heap buffer for neopixel_write
2020-02-21 17:26:09 -08:00
Dan Halbert
f63b2c0d0c use realloc instead 2020-02-21 17:36:15 -05:00
Dan Halbert
9e6a9e46da Merge branch 'master' into malloc-nrf-neopixel-write 2020-02-21 17:10:13 -05:00
Scott Shawcroft
e9ade63ae0
Merge pull request #2647 from dhalbert/enable-bleio-adapter-on-import
Enable _bleio adapter when _bleio is imported
2020-02-21 10:14:46 -08:00
Dan Halbert
9cf46ec947 put neopixel_write buffer in root pointers 2020-02-21 08:44:25 -05:00
Dan Halbert
23d6a3dc1f merge from upstream 2020-02-20 22:27:16 -05:00
Dan Halbert
e31ac710be Enable _bleio adapter when _bleio is imported 2020-02-20 21:55:04 -05:00
Florent Gallaire
39ec5d0e51 Add NINA pins 2020-02-21 01:34:52 +01:00
Dan Halbert
675930083d
Merge pull request #2645 from dhalbert/relicense-nrf-spi
relicense nrf SPI.c to MIT
2020-02-20 16:56:02 -05:00
Dan Halbert
634d246910 relicense nrf SPI.c to MIT 2020-02-20 16:00:21 -05:00
Dan Halbert
0afb8991fa
Merge pull request #2644 from tannewt/disable_ble_file_service
Disable BLE file service for now
2020-02-20 15:57:38 -05:00
Scott Shawcroft
e8f7141564
Disable BLE file service for now
Fixes #2633
2020-02-20 12:15:56 -08:00
Scott Shawcroft
1e7ec1b952
Merge pull request #2641 from arturo182/feather_m7_1011
mimxrt10xx: Add Feather M7 1011 board config
2020-02-20 10:15:57 -08:00
Scott Shawcroft
a5b7a128aa
Merge pull request #2642 from arturo182/imx_displayio
mimxrt10xx: Enable displayio
2020-02-20 10:13:32 -08:00
arturo182
feac87901a mimxrt10xx: Enable displayio
Closes #2466
2020-02-19 22:26:00 +01:00
arturo182
aa0cf38084 mimxrt10xx: Add Feather M7 1011 board config 2020-02-19 22:08:08 +01:00
Scott Shawcroft
4552aff125
Merge pull request #2629 from mubes/rtsctsrs485
Addition of RTS/CTS/RS485 capability
2020-02-19 10:35:57 -08:00
Florent Gallaire
1ed5afeaec Update build.yml 2020-02-19 10:22:57 +01:00
Dave Marples
4615d172c7 Addition of translation files 2020-02-19 08:45:07 +00:00
Florent Gallaire
fba0b302ff Add Arduino Nano 33 IoT support 2020-02-19 08:56:06 +01:00
Florent Gallaire
63bcd52a5a Add Arduino Nano 33 IoT documentation 2020-02-19 08:50:27 +01:00
Dan Halbert
1f148242db
Merge pull request #2605 from maholli/master
New board: PyCubed + updates to SAM32 board
2020-02-18 22:01:41 -05:00
Dave Marples
24405cabaf Edits as a result of review 2020-02-19 00:07:01 +00:00
Dave Marples
490a808bf6 Addition of stubs for rs485/CTS/RTS handling on non-implemented chips 2020-02-18 23:16:40 +00:00
Dave Marples
f0e5341b0f Addition of support for imxt1010, 1050 and 1060 families 2020-02-18 23:16:40 +00:00
Dave Marples
d388899985 Addition of RS485 support 2020-02-18 23:16:40 +00:00
Dave Marples
84ad3d8393 Addition of RTS/CTS/RS485 UART functionality 2020-02-18 23:16:40 +00:00
Scott Shawcroft
6f06f92bb1
Merge pull request #2631 from DavePutz/master
Update readline.c for REPL Unicode issue 1905
2020-02-18 14:19:37 -08:00
Max Holliday
2b79d8ffe9 adding PWM to board.c for external WDT 2020-02-18 14:16:54 -08:00
Scott Shawcroft
2063867899
Merge pull request #2618 from mubes/alignment-warning
Fix alignment warning
2020-02-18 13:54:24 -08:00
Scott Shawcroft
850e655a4c
Merge pull request #2625 from dhalbert/to_bytes-signed
Implement to_bytes(..., signed=True)
2020-02-18 13:43:34 -08:00
Scott Shawcroft
52d96ca151
Merge pull request #2626 from dhalbert/stat-for-shortint
avoid os.stat() int overflow on smallint-only builds
2020-02-18 13:40:52 -08:00
DavePutz
aca53aa1a2
Update readline.c for REPL Unicode issue 1905 2020-02-18 10:38:50 -06:00
Max Holliday
93760042fa no current need for NVM 2020-02-16 11:43:19 -08:00
Dave Marples
77ad9aff3c Formatting updates 2020-02-16 00:40:04 +00:00
Dan Halbert
e0753c4ad2 avoid os.stat() int overflow on smallint-only builds 2020-02-14 18:33:37 -05:00
Dave Marples
d13f04f953 Updated formatting 2020-02-14 23:02:02 +00:00
Dan Halbert
c592bd612a Implement to_bytes(..., signed=True) 2020-02-14 15:12:20 -05:00
Melissa LeBlanc-Williams
e0b8529d8d
Merge pull request #2623 from makermelissa/master
Updated OnDiskBitmap RTD example for 5.x
2020-02-14 11:19:27 -08:00
Melissa LeBlanc-Williams
33774e790c Updated OnDiskBitmap RTD example for 5.x 2020-02-14 10:23:23 -08:00
Scott Shawcroft
cabc30e9a5
Merge pull request #2621 from dhalbert/flash-erase-check
correct check for flash erase boundaries
2020-02-14 10:09:35 -08:00
Dan Halbert
dc97b0d844 correct chec^Cfor flash erase boundaries 2020-02-13 17:41:05 -05:00
Scott Shawcroft
e97b0cfc61
Merge pull request #2581 from jamesbowman/master
First draft of eveL, the low-level module of the Gameduino bindings
2020-02-13 11:21:32 -08:00
Scott Shawcroft
a0760206c6
Merge pull request #2597 from hierophect/stm32-espruino-wifi
STM32: Espruino Wifi
2020-02-13 11:17:59 -08:00
Dan Halbert
bfadcdb099
Merge pull request #2600 from hexthat/master
added translations
2020-02-13 13:49:00 -05:00
James Bowman
b02937d1a7 Split ROMDECLS for readability 2020-02-13 07:28:21 -08:00
Dan Halbert
a65ca3ab19
Merge pull request #2617 from dhalbert/nrf-large-spi-transactions
use properly-sized SPI transactions
2020-02-12 23:29:29 -05:00
Dave Marples
4de2a1eb62 Fix alignment warning 2020-02-12 22:36:34 +00:00
Dan Halbert
01fb668904
Merge pull request #2614 from tannewt/gc_multiblock_speedup
Track first free atbs for multiple block sizes instead of just 1
2020-02-12 16:04:34 -05:00
Lucian Copeland
afc1c88046 remove bad define 2020-02-12 15:56:24 -05:00
Lucian Copeland
fd2982f5c9 revert cross-board flag strategy 2020-02-12 15:12:05 -05:00
Dan Halbert
e00b3269fe use properly-sized SPI transactions 2020-02-12 15:04:19 -05:00
Lucian Copeland
6d91ed2156 move defaults to avoid conflict 2020-02-12 14:38:27 -05:00
Lucian Copeland
b248486c3b cleanup flag changes 2020-02-12 14:32:50 -05:00
Scott Shawcroft
dd57d83926
Fix quotes and rerun make translate. 2020-02-12 11:32:36 -08:00
Lucian Copeland
b7bb85a4da Merge remote-tracking branch 'upstream/master' into stm32-espruino-wifi 2020-02-12 14:31:08 -05:00
Lucian Copeland
7831c475b9 change flag styling 2020-02-12 14:30:29 -05:00
hexthat
a7aa74efa3
added translations
just added missing translations
2020-02-12 11:22:08 -08:00
Scott Shawcroft
35abc48a65
Merge pull request #2589 from hierophect/stm32-temperature-us
STM32: Core temperature and voltage
2020-02-12 10:55:00 -08:00
Scott Shawcroft
cde9b63eab
Merge pull request #2615 from mubes/label-drive
Allow drive name to be set per target
2020-02-12 10:43:04 -08:00
Scott Shawcroft
01507a91db
Merge pull request #2612 from mubes/loadable-binary
Add directly loadable binary target for imxrt family
2020-02-12 10:41:59 -08:00
Scott Shawcroft
8e8eb07791
Merge pull request #2606 from aramcon-badge/usb-remount-fix
Fix to allow remount when usb enabled but not msc
2020-02-12 10:33:15 -08:00
hierophect
4bc093675c
Merge branch 'master' into stm32-temperature-us 2020-02-12 12:13:56 -05:00
Lucian Copeland
42ceb97f2c translation update 2020-02-12 12:12:06 -05:00
Dave Marples
bfca65d86f Allow drive name to be set per target, with fallback to pre-existing behaviour 2020-02-12 11:09:48 +00:00
Dave Marples
d0870ce484 Update main .bin output file to be bootable artefact 2020-02-12 09:03:11 +00:00
Gadi Rotenberg
07708f1518 Added fix to allow remount when usb enabled but msc is ejected 2020-02-12 09:57:58 +02:00
Limor "Ladyada" Fried
fb8fbbf42e
Merge pull request #2613 from dhalbert/spim3
nrf: add SPIM3 support
2020-02-11 22:55:44 -05:00
Scott Shawcroft
36e6cc8feb
Track first free atb for multiple block sizes.
This speeds up cases where no single block allocations happen while
Python code is allocating other block sizes.
2020-02-11 17:06:24 -08:00
Scott Shawcroft
a4d197a6ef
Update gc tracking instructions and gdb commands. 2020-02-11 17:05:43 -08:00
Dan Halbert
c57ccd5eb4 doc typo 2020-02-11 20:03:47 -05:00
Dan Halbert
f73b58a2c6 fix doc indentation 2020-02-11 19:57:48 -05:00
Dan Halbert
2e029d55fc nrf: add SPIM3 support 2020-02-11 19:22:14 -05:00
Dave Marples
f3e4fbd7ba Add directly loadable binary target 2020-02-11 23:01:08 +00:00
James Bowman
a87dee2f66 Correct the BitmapTransform operations.
Correct argument order
better argument naming
fix copypaste bug on C and F arguments
2020-02-10 19:34:38 -08:00
James Bowman
1f44029c56 Remove unused code 2020-02-10 18:57:04 -08:00
James Bowman
842fe54c83 remove no-longer-needed exclude 2020-02-10 18:35:25 -08:00
Scott Shawcroft
8364c60eb2
Merge pull request #2570 from hierophect/stm32-f407-disco
STM32: Add STM32F4Discovery support
2020-02-10 17:19:00 -08:00
Lucian Copeland
c4436910c3 create F407 specific files 2020-02-10 12:44:23 -05:00
Max Holliday
80ba4c8661
Merge pull request #2 from adafruit/master
merging from upstream
2020-02-10 09:41:16 -08:00
Max Holliday
a0ba501849 spelling is hard :) 2020-02-10 09:35:15 -08:00
Lucian Copeland
3f700e7e68 fix missing parameter 2020-02-10 12:16:00 -05:00
Lucian Copeland
b4c60c3355 Merge remote-tracking branch 'upstream/master' into stm32-espruino-wifi 2020-02-10 11:52:32 -05:00
Lucian Copeland
a8f5fcc400 revised translations 2020-02-10 11:46:23 -05:00
Lucian Copeland
baf8d9ef5f Merge remote-tracking branch 'upstream/master' into stm32-temperature-us 2020-02-10 11:45:49 -05:00
Lucian Copeland
ea7f80e8a7 Revert "Add translations"
This reverts commit 8f9ff3d49c.
2020-02-10 11:45:35 -05:00
Lucian Copeland
8f9ff3d49c Add translations 2020-02-10 11:43:18 -05:00
Limor "Ladyada" Fried
e15982993a
Merge pull request #2607 from oshwabadge2020/master
add pin defs for buttons on the OHS2020 badge
2020-02-10 11:22:56 -05:00
Drew Fustini
3bf4b42e2e change OH20 badge pin defs to use SWn for buttons
Rather than use A, B, C and D

Use the buttons according to silkscreen references:
SW1
SW2
SW3
SW4
2020-02-10 00:49:13 +01:00
Drew Fustini
0a54f88751 add pin defs for buttons on the OHS2020 badge 2020-02-10 00:32:16 +01:00
Drew Fustini
7bdc8b36a6
Merge pull request #1 from adafruit/master
update to adafruit master
2020-02-10 00:11:35 +01:00
Max Holliday
ffd15c29dc trying to add Adafruit_CircuitPython_Register again 2020-02-08 16:15:23 -08:00
Max Holliday
b91c4e66cb adding Adafruit_CircuitPython_Register to frozen + updating SAM32 2020-02-08 16:09:47 -08:00
Max Holliday
723a64cbda Update build.yml 2020-02-08 15:35:38 -08:00
Max Holliday
84fa0c187e adding new board - PyCubed
open source and radiation tested hardware + software platform for small satellites called CubeSats. See pycubed.org for more info. See quickstart.pycubed.org for lots of circuitpython examples
2020-02-08 15:33:25 -08:00
Max Holliday
db8365c79e
Merge pull request #1 from adafruit/master
merging from upstream
2020-02-08 15:17:45 -08:00
James Bowman
f101ff60c5 Move _eve module declarations into shared-bindings header 2020-02-07 17:10:19 -08:00
James Bowman
c631b4d60e Add doc strings, inline mod_eve-gen.h and remove it 2020-02-07 16:44:48 -08:00
hierophect
b93d6e861b
Merge pull request #2596 from hierophect/stm32-espruino-pico
STM32: Espruino Pico
2020-02-07 14:14:49 -05:00
Scott Shawcroft
2b8f9b2617
Merge pull request #2594 from lgnashold/master
Add support for external flash device Winbond W25Q80DV
2020-02-07 11:04:28 -08:00
Scott Shawcroft
51004f8336
Merge pull request #2601 from dhalbert/monotonic_ns-improvement
Monotonic ns improvement; time.sleep rounds to nearest msec
2020-02-07 11:03:37 -08:00
James Bowman
5c6d94d3e5 Split into shared-module and shared-bindings 2020-02-07 10:30:49 -08:00
Limor "Ladyada" Fried
71672fd244
Merge pull request #2599 from ladyada/master
update rotation so 0 is the default, for much faster ondiskbitmaps
2020-02-07 12:59:30 -05:00
Dan Halbert
b245f9ca5b
Merge pull request #2591 from neubauek/master
Added CircuitBrains Basic and Deluxe Boards
2020-02-07 12:47:20 -05:00
Dan Halbert
005c4caf8c fix function defs for compiler 2020-02-07 10:32:37 -05:00
Dan Halbert
cbd519bfa6 time.sleep() rounds to nearest msec 2020-02-07 10:24:11 -05:00
Dan Halbert
857d8ab40a improve time.monotonic_ns() accuracy from ms to us 2020-02-07 10:02:50 -05:00
Langston Nashold
76d8e5b399 Add support for external flash device Winbond.com W25Q80DV
Currently, we only support external flash device W25Q80DL. This
adds support for the W25Q80DL.

tweak
2020-02-06 16:46:43 -08:00
Lucian Copeland
41b5f73785 revert mixed up linkers 2020-02-06 18:47:06 -05:00
Lady Ada
789e311b63 update rotation so 0 is the default, for much faster ondiskbitmaps 2020-02-06 16:28:02 -05:00
neubauek
d93d491a61 Cleaned up CircuitBrains Basic and Deluxe board definitions 2020-02-06 14:47:22 -06:00
Lucian Copeland
3c50098dfc add stm32f4 to docs 2020-02-06 15:17:42 -05:00
Lucian Copeland
848577e830 Update PID 2020-02-06 12:55:36 -05:00
Lucian Copeland
aee26b1c79 Add proper PID 2020-02-06 12:25:17 -05:00
Lucian Copeland
4122f85888 Create board definitions, add to board list 2020-02-06 12:19:19 -05:00
James Bowman
a20490c0b3 Add method VertexFormat() and variable fixed-point scaling in Vertex2f() 2020-02-06 08:49:07 -08:00
Lucian Copeland
383854ac50 Add espruino pico to board list 2020-02-06 11:25:07 -05:00
Lucian Copeland
08cf152aa8 Document flashing process 2020-02-06 11:11:51 -05:00
Lucian Copeland
698ad745f6 Fix oscillator issue, add button and LED pins 2020-02-06 10:49:03 -05:00
Dan Halbert
a63f49cb83
Merge pull request #2592 from tannewt/add_extra_ble_error
Add another error message to BLE
2020-02-05 23:39:17 -05:00
James Bowman
09a9e365dd Fix sphinx exclude for eveL -> _eve rename 2020-02-05 19:56:29 -08:00
James Bowman
acef93a253 Rename eveL to _eve, EVEL to _EVE 2020-02-05 18:17:58 -08:00
James Bowman
a9b34f45dc My name 2020-02-05 18:01:25 -08:00
James Bowman
53f7e2be4f Use mp_instance_cast_to_native_base() throughout 2020-02-05 17:58:59 -08:00
Scott Shawcroft
72a1bdab30
Add another error message for extended advertisements at the same
time as scan response. The SD can't do it.
2020-02-05 15:56:17 -08:00
Lucian Copeland
cdd1622350 Fix oscillator oversight in clocks.c 2020-02-05 18:12:48 -05:00
Lucian Copeland
e28d244a0d Add espruino pico pinout 2020-02-05 18:03:54 -05:00
neubauek
9e34483419 Update build.yml 2020-02-05 15:13:05 -06:00
neubauek
f3188669e4 Added CircuitBrains Basic and Deluxe Boards 2020-02-05 14:52:47 -06:00
Lucian Copeland
788464a594 board uses VBUS 2020-02-05 15:45:27 -05:00
Limor "Ladyada" Fried
06b43069a1
Merge pull request #2588 from dhalbert/nrf-fix-i2c-speed
nrf: fix i2c frequency setting
2020-02-05 12:45:15 -05:00
Lucian Copeland
cedf6489f7 Add voltage ADC, standardize mphalport 2020-02-05 12:39:12 -05:00
Dan Halbert
b6da2fa173 nrf: fix i2c frequency setting 2020-02-05 11:25:31 -05:00
Dan Halbert
433671f5eb
Merge pull request #2584 from dhalbert/oserror-with-filename
Include filename for 'No such file/directory', etc.
2020-02-04 18:41:17 -05:00
Dan Halbert
280e20adbe Merge remote-tracking branch 'adafruit/master' into oserror-with-filename 2020-02-04 17:08:50 -05:00
Dan Halbert
e13642351c fix printing single-arg exceptions 2020-02-04 16:55:56 -05:00
Dan Halbert
7fe959ab39 fix multi-arg exception printing 2020-02-04 16:41:25 -05:00
Lucian Copeland
4ba050d46d Add ADC for temp sensor 2020-02-04 16:26:24 -05:00
Dan Halbert
5164719e67 preserve errno in OSError 2020-02-04 16:19:40 -05:00
Scott Shawcroft
65045eb3bc
Merge pull request #2568 from hierophect/stm32-loader-linkers
STM32: UF2 build option for STM32F405
2020-02-04 12:21:45 -08:00
Dan Halbert
57b566e736 Include filename for 'No such file/directory', etc. 2020-02-04 13:32:39 -05:00
Kattni
c10479f2bb
Merge pull request #2582 from dhalbert/palette-color-list-tuple
allow tuple or list for Palette color
2020-02-04 12:19:09 -05:00
Lucian Copeland
6f73126756 add correct PID 2020-02-04 10:46:44 -05:00
Lucian Copeland
04f93c8273 add board to workflow 2020-02-04 10:45:26 -05:00
Lucian Copeland
c1fded5062 Merge branch 'stm32-loader-linkers' into stm32-f407-disco 2020-02-04 10:40:19 -05:00
Lucian Copeland
3ce6fc89a4 Implement new linker for external flash only 2020-02-04 10:38:45 -05:00
Dan Halbert
66ca659709 make translate 2020-02-03 23:41:15 -05:00
James Bowman
8347f2b5c3 Correct default state to off for eveL module.
Fix build break because of overflowing small ports
2020-02-03 19:23:42 -08:00
Dan Halbert
a4ebd2f7c1 allow tuple or list for Palette color 2020-02-03 22:09:53 -05:00
James Bowman
0bcfabbc87 Add header for module eveL explaining what it is.
Exclude modeveL-gen.h from Sphinx build
2020-02-03 18:41:32 -08:00
James Bowman
7fd30e7d20 First draft of eveL, the low-level module of the Gameduino (and BridgeTek EVE) bindings.
[adafruit/circuitpython#2578]
2020-02-03 16:46:14 -08:00
Dan Halbert
67440acd3e
Merge pull request #2577 from ladyada/master
Add initial Bluefruit Sense
2020-02-03 14:51:48 -05:00
ladyada
391ca918b1 add buildline 2020-02-03 13:54:24 -05:00
Lady Ada
5a29b222eb add bluefruit sense - tested 2020-02-03 13:52:30 -05:00
Limor "Ladyada" Fried
97de075f12
Merge pull request #2576 from oshwabadge2020/ohs2020-badge-new
Ohs2020 badge updates
2020-02-03 11:48:11 -05:00
Michael Welling
64cafe82bc Adjust OHS2020 madctl for default rotation
Make to go faster I guess.

Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:14:10 -08:00
Michael Welling
6804b2a7fd Add I2C pin definitions for interoperability with Adafruit libraries
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:13:39 -08:00
Michael Welling
33dcdd7c03 Updates to enable working SPI TFT
The backlight enable is active low on our board so the driver doesn't like it.
Toggling to GPIO manually for now.

As fixed the improper SPI bus pins definitions and it works!

Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:13:03 -08:00
Michael Welling
d99c2ffe4f QSPI flash fixes
We had the pin names swapped on the schematic and a different flash was populated.

Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:11:12 -08:00
Dan Halbert
3aed0a1fd7
Merge pull request #2572 from ladyada/master
adjust CLUE madctl so rotation 0 is 'right'
2020-01-31 21:00:06 -05:00
Lady Ada
dc964b346c adjust CLUE madctl so rotation 0 is 'right' 2020-01-31 20:17:39 -05:00
Dan Halbert
19f1234997
Merge pull request #2571 from dhalbert/clue-fixes
fix UICR check; do not use NULL for no MISO
2020-01-31 19:48:16 -05:00
Dan Halbert
be4e681d07 fix UICR check; do not use NULL for no MISO 2020-01-31 18:57:41 -05:00
Lucian Copeland
fa11912b9b New configuration values 2020-01-31 17:28:42 -05:00
Lucian Copeland
61944ef08e Merge branch 'stm32-loader-linkers' into stm32-f407-disco 2020-01-31 16:38:17 -05:00
Dan Halbert
8258cb851e
Merge pull request #2569 from dhalbert/nrf-increase-connections
increase max BLE connections from 2 to 5
2020-01-31 15:59:27 -05:00
Dan Halbert
4abd5f1f7b increase max connections from 2 to 5 2020-01-31 14:58:23 -05:00
Lucian Copeland
cabc3aa90e Merge branch 'stm32-loader-linkers' of https://github.com/hierophect/circuitpython into stm32-loader-linkers 2020-01-31 14:36:03 -05:00
Lucian Copeland
41aefc819b Fix pyboard 2020-01-31 14:35:54 -05:00
Lucian Copeland
19553b8f7c WIP 2020-01-31 14:33:10 -05:00
Lucian Copeland
c1cf80180d Merge branch 'stm32-loader-linkers' into stm32-f407-disco 2020-01-31 14:10:21 -05:00
Lucian Copeland
ab031bc25f Create basic board profile 2020-01-31 14:04:54 -05:00
hierophect
f38e12f0ab
Update ports/stm32f4/boards/STM32F405_boot.ld
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-01-31 13:56:08 -05:00
Lucian Copeland
a10e5d1da2 text fixes 2020-01-31 13:17:43 -05:00
Lucian Copeland
7085d91278 dangling edit 2020-01-31 13:13:51 -05:00
Lucian Copeland
b4dcecb266 Add build option for UF2 flash offset 2020-01-31 13:12:58 -05:00
Lucian Copeland
d8016bd52b Merge branch 'master' into stm32-loader-linkers 2020-01-31 12:21:46 -05:00
Dan Halbert
d378bebaa3
Merge pull request #2565 from dhalbert/gamepad-for-cpx
add gamepad to specialty cpx builds; update frozen libs
2020-01-30 22:05:46 -05:00
Dan Halbert
3b95d7c16a add gamepad to specialty cpx builds; update frozen libs 2020-01-30 21:00:47 -05:00
Dan Halbert
89829aea85
Merge pull request #2564 from dhalbert/clue-rev-c
Update CLUE to Rev C
2020-01-30 16:14:30 -05:00
Dan Halbert
b6358182d3 Update CLUE to Rev C 2020-01-30 15:22:26 -05:00
Jeff Epler
ba47aa25a1
Merge pull request #2550 from tannewt/tweak_pixelbuf
Encapsulate the buffers within PixelBuf
2020-01-30 13:55:02 -06:00
Scott Shawcroft
55eb1730b8
Merge remote-tracking branch 'adafruit/master' into tweak_pixelbuf 2020-01-30 10:59:21 -08:00
Scott Shawcroft
2cc20e8816
Remove unneeded native cast. 2020-01-30 10:59:16 -08:00
Scott Shawcroft
d22e95eeda
Merge pull request #2561 from pewpew-game/stage-background
circuitpython-stage: allow choosing background color
2020-01-30 10:34:58 -08:00
Scott Shawcroft
298bca3fdd
Merge pull request #2562 from dhalbert/ble-fixes
nrf: track vm_used_ble better
2020-01-30 10:33:19 -08:00
Dan Halbert
87f73e2729 track vm_used_ble better 2020-01-30 09:52:06 -05:00
Radomir Dopieralski
27c36eea2b circuitpython-stage: allow choosing background color 2020-01-30 15:24:04 +01:00
Scott Shawcroft
5d24ade5c9
Tweak error messages to reduce code size. 2020-01-29 17:32:07 -08:00
Scott Shawcroft
0b761f60ea
Merge pull request #2404 from hierophect/stm32-meowbit
STM32: Meowbit support
2020-01-29 16:32:35 -08:00
Lucian Copeland
1a25d3ca83 fix merge issue 2020-01-29 18:46:14 -05:00
Scott Shawcroft
710c1985ba
Merge commit 'eb0ef' into tweak_pixelbuf 2020-01-29 13:40:33 -08:00
Scott Shawcroft
d655c785b6
Merge commit 'b36b24' into tweak_pixelbuf 2020-01-29 13:35:22 -08:00
hierophect
898f4e1f72
Merge branch 'master' into stm32-meowbit 2020-01-29 16:32:08 -05:00
Lucian Copeland
100409961a Move board_init to main.c 2020-01-29 16:29:43 -05:00
Lucian Copeland
b9bed98538 Merge stm32-meowbit 2020-01-29 16:05:19 -05:00
Lucian Copeland
8a9c3097e3 Add port-specific requested changes 2020-01-29 16:00:38 -05:00
Lucian Copeland
947c2243bd add feather bootloader settings, cleanup 2020-01-29 15:30:35 -05:00
Scott Shawcroft
5b6b4eb326
Merge pull request #2551 from jepler/build-mpy-cross-static-linux-win64
Build static binaries of mpy-cross for desktop linux, desktop windows, mac, and raspbian
2020-01-29 11:45:08 -08:00
Scott Shawcroft
7d4f9fc99f
Merge pull request #2554 from dhalbert/packetbuffer-packet_size
PacketBuffer.packet_size was returning bool instead of int
2020-01-29 11:44:40 -08:00
Scott Shawcroft
ac55143c64
Merge pull request #2556 from jepler/update-tools-uf2
tools/uf2: take new upstream commits
2020-01-29 11:43:40 -08:00
Lucian Copeland
3c86005546 Implement requested changes 2020-01-28 17:11:25 -05:00
Lucian Copeland
ab9483b7fb Add internal display definitions, fails at startup 2020-01-28 16:00:34 -05:00
03cdc5ef76 tools/uf2: take new upstream commits 2020-01-28 13:48:40 -06:00
Scott Shawcroft
84b055362f
Merge pull request #2555 from suda/feature/particle-wiznet5k
Add support for the Particle Ethernet FeatherWing
2020-01-28 10:46:33 -08:00
Wojtek Siudzinski
df5e58fc6e Add support for the Particle Ethernet FeatherWing 2020-01-28 10:53:50 +01:00
Scott Shawcroft
5e789b3850
Don't allocate the pre brightness buffer if brightness is 1.0 still 2020-01-27 15:10:32 -08:00
Scott Shawcroft
f6a635b102
Fix subclassing of objects that are tested. Others may still be broken. 2020-01-27 14:52:42 -08:00
Scott Shawcroft
eb0ef3726f
Merge pull request #2552 from jepler/samd-stereo-single-dma
samd: When possible, use one DMA channel for stereo AudioOut
2020-01-27 14:15:26 -08:00
Scott Shawcroft
b36b2493bc
Merge pull request #2532 from tannewt/teensy4-dev
Refine iMX RT memory layout and add three boards
2020-01-27 14:11:08 -08:00
Dan Halbert
e21580b67f PacketBuffer.packet_size was returning bool instead of int 2020-01-27 17:10:56 -05:00
Jeff Epler
7c11a5ad6d
Merge pull request #2553 from ladyada/master
add missing displayref
2020-01-27 09:30:07 -06:00
c8f969feb5 samd: audio-dma: avoid memory allocations
With the previous change, stereo mp3 playback changed from needing
4 2304-byte allocations to needing 2 4604-byte allocations.  This was
enough to cause MemoryErrors with regularity.

By using m_realloc() here, the existing memory region can be used.
m_realloc() also works on the first invocation, because m_realloc(NULL, sz)
just calls m_malloc of sz.
2020-01-27 08:49:41 -06:00
Lady Ada
f2dfcee042 add missing displayref 2020-01-26 20:10:20 -05:00
cb6193bbc7 samd: When possible, use one DMA channel for stereo AudioOut
.. the documentation doesn't make this clear, but in practice it works
to write both of the DATABUF registers at the same time.  This should
also reduce the amount of wear and tear DMA puts on the system, as the
number of transfers is cut in half.  (the number of bytes transferred
remains the same, though)

In principle, this could cover all stereo cases if audio_dma_convert_signed
also learned to 16-bit extend and swap values.  However, this is the
case that matters for stereo mp3 playback on PyGamer.

Testing performed: Listened to some tracks with good stereo separation.
2020-01-26 15:36:24 -06:00
0b7551f4c7 add mpy-cross-mac to build artifacts 2020-01-25 18:49:14 -06:00
eee9159a91 alphabetize 2020-01-25 17:13:29 -06:00
b5b7b6fd0f Build static mpy-cross bins
.. for windows, desktop (x86_64) linux, and raspbian
2020-01-25 15:43:23 -06:00
f13f9c7f30 rework gitignore file 2020-01-25 15:32:52 -06:00
9673ea4a50 Add a makefile to cross-compile for raspbian 2020-01-25 15:32:52 -06:00
d9e0742a07 accomodate excessively old gcc versions for raspbian mpy-cross cross-build 2020-01-25 15:32:52 -06:00
a43a19728c Define serial_write, it was undefined in the Windows mpy-cross build 2020-01-25 15:09:49 -06:00
ebf0fe0a8c mpy-cross: Make it easier to build mpy-cross static targets 2020-01-25 14:04:11 -06:00
sommersoft
c2fd30364e
Merge pull request #2526 from jepler/mixer-opt
Mixer: Rework for performance, particularly of the S16 case
2020-01-24 21:46:47 -06:00
Scott Shawcroft
39971794dd
Encapsulate buffers inside PixelBuf and refactor it. 2020-01-24 18:23:07 -08:00
Scott Shawcroft
81c3bc411f
Don't assume native methods want the native object as self. 2020-01-24 18:22:28 -08:00
Lucian Copeland
b5b94b72c1 Return to bootloader options 2020-01-24 14:47:13 -05:00
Lucian Copeland
70932cab42 Simplify the flash-display conflict fix 2020-01-24 14:33:28 -05:00
Scott Shawcroft
ad6e8ea6f7
Merge pull request #2548 from dhalbert/cpb-reset-neopixels
reset NeoPixels on soft reload on CPB, pybadge, and pygamer boards
2020-01-24 11:31:29 -08:00
Lucian Copeland
2afca4e942 Fix flash-display conflict error 2020-01-24 14:25:36 -05:00
Dan Halbert
6f13979c9b pygamer and pybadge boards were not resetting neopixels 2020-01-24 09:32:28 -05:00
Dan Halbert
68f9aee992 reset NeoPixels on CPB on soft reload 2020-01-23 20:16:31 -05:00
Lucian Copeland
d8bc57c1dc Flash and display control 2020-01-23 17:17:02 -05:00
Limor "Ladyada" Fried
1831f5164c
Merge pull request #2542 from ndGarage/ndbit6
Ndbit6
2020-01-23 13:14:36 -05:00
Limor "Ladyada" Fried
fe70072d68
Merge branch 'master' into ndbit6 2020-01-23 12:32:19 -05:00
ndgarage
4675783545 change-name-to-ndgarage_ndbit6 2020-01-23 09:55:17 -07:00
Sabas
41a85b71fc init nfc copy 2020-01-22 20:30:33 -06:00
Lucian Copeland
e9f9cee4d6 Invert duty cycle intensity 2020-01-22 18:47:41 -05:00
Scott Shawcroft
b3c09e1bc0
Merge pull request #2546 from deshipu/patch-1
Update CircuitPython differences in README
2020-01-22 11:43:43 -08:00
Lucian Copeland
36792926d2 Revert dangling pointer issue in PWMOut 2020-01-22 14:41:37 -05:00
Scott Shawcroft
154124f369
Merge pull request #2541 from tsupplis/master
Update fix (missing pragma gcc diagnostic push)
2020-01-22 11:27:23 -08:00
Radomir Dopieralski
2614671af1
Update README.rst
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-01-22 19:36:21 +01:00
Radomir Dopieralski
203403c5d0
Update CircuitPython differences in README 2020-01-22 19:26:01 +01:00
Lucian Copeland
b326ee0a3d fix microcontroller pin ommission 2020-01-22 12:12:27 -05:00
Scott Shawcroft
085242bf5c
Use new USB PIDs that aren't used yet. 2020-01-21 18:45:00 -08:00
Scott Shawcroft
87344ff53a
Disable the DCache when USB is initialized. There are still issues enabling it. 2020-01-21 18:32:19 -08:00
Dan Halbert
f99157b811
Merge pull request #2545 from dhalbert/cpx-stack-4760
Increase CPX stack size by 256
2020-01-21 19:43:34 -05:00
sommersoft
ed2d94cae9
Merge pull request #2543 from pewpew-game/support-matrix
Fix entry overrides in support matrix generation
2020-01-21 18:18:08 -06:00
Dan Halbert
4923caf85e Increase CPX stack size by 256 2020-01-21 18:53:55 -05:00
Radomir Dopieralski
e1840f6abc Fix entry overrides in support matrix generation
Fix #2539

The entries in the board's mpconfigboard.mk override any other entries.

Also, fixed a warning for bad use of backslash in a string.
2020-01-21 22:03:47 +01:00
tsupplis
b66abd47b8
Update fix (missing pragma gcc diagnostic push)
Update fix (missing pragma gcc diagnostic push)
2020-01-21 19:45:20 +00:00
Scott Shawcroft
1daac3a5f4
Merge pull request #2534 from CapableRobot/capablerobot-usbhub
Pin name updates and add additional SPI flash part for Capable Robot USB Hub
2020-01-20 22:27:55 -08:00
b4ddee2bb6 Mixer: rename function based on review comment 2020-01-20 14:08:56 -06:00
982c63a717 Mixer: use MP_LIKELY macro instead of locally brewed one 2020-01-20 14:08:32 -06:00
Chris Osterwood
97420994e8 Merge remote-tracking branch 'origin/master' into capablerobot-usbhub 2020-01-20 13:11:57 -05:00
Scott Shawcroft
1c39606345
Fix other builds missing new heap bounds functions 2020-01-18 18:06:56 -08:00
Scott Shawcroft
834259a2cf
Update translations and translation sources 2020-01-18 11:57:57 -08:00
Scott Shawcroft
9d5742ebd1
Fix start on power up by providing Reset_Handler ourselves.
On power up the FlexRAM banks are in an unknown config so we can't
rely on the stack until after we configure FlexRAM.
2020-01-18 11:54:01 -08:00
Scott Shawcroft
9f4ea2122a
teensy fixes 2020-01-17 18:35:09 -08:00
Scott Shawcroft
7d8dac9211
Refine iMX RT memory layout and add three boards
Introduces a way to place CircuitPython code and data into
tightly coupled memory (TCM) which is accessible by the CPU in a
single cycle. It also frees up room in the corresponding cache for
intermittent data. Loading from external flash is slow!

The data cache is also now enabled.

Adds support for the iMX RT 1021 chip. Adds three new boards:
* iMX RT 1020 EVK
* iMX RT 1060 EVK
* Teensy 4.0

Related to #2492, #2472 and #2477. Fixes #2475.
2020-01-17 17:36:08 -08:00
Hierophect
3f43155b63 Meowbit bus conflict WIP 2020-01-17 13:31:12 -05:00
Limor "Ladyada" Fried
85c731734a
Merge pull request #2530 from adafruit/mimxrt1011_pin_fix
mimxrt1011: Fix pin definition
2020-01-17 10:49:50 -05:00
arturo182
69785cccfe
mimxrt1011: Fix pin definition 2020-01-17 14:45:29 +01:00
Limor "Ladyada" Fried
d11a112389
Merge pull request #2528 from oshwabadge2020/ohs2020-badge
Ohs2020 badge initial support
2020-01-16 19:04:46 -05:00
Michael Welling
cc77e86408 Update the VID and USB company string
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 15:43:49 -08:00
Michael Welling
cc03d68984 Fix backlight pin registration
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 14:53:07 -08:00
Michael Welling
b61014a7b8 Add OHS2020 badge to build.yml
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 14:28:28 -08:00
Michael Welling
86d454adf3 Initial board support for OHS2020 Badge
Not tested but builds.

Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 13:46:56 -08:00
449dbea456 Mixer: Rework for performance, particularly of the S16 case
This removes downscaling (halving-add) when multiple voices are
being mixed.  To avoid clipping, and get similar behavior to before,
set the "level" of each voice to (1/voice_count).

Slow paths that were applicable to only M0 chips were removed.

As a side effect, the internal volume representation is now 0 ..
0x8000 (inclusive), which additionally makes a level of exactly 0.5
representable.

Testing performed, on PyGamer: For all 4 data cases, for stereo and
mono, for 1 and 2 voices, play pure sign waves represented as
RawSamples and view the result on a scope and through headphones.
Also, scope the amount of time spent in background tasks.

Code size: growth of +272 bytes

Performance (time in background task when mixing 2 stereo 16-bit voices):
76us per down from 135us (once per ~2.9ms long term average)
(Decrease from 4.7% to 2.4% of all CPU time)
2020-01-16 10:48:38 -06:00
e6869c8983 mixer: factor out mix_one_voice 2020-01-16 10:31:26 -06:00
Scott Shawcroft
8b61333937
Merge pull request #2510 from dhalbert/bonding-nvm
nrf: Add bonding to BLE pairing support
2020-01-15 16:11:09 -08:00
Dan Halbert
765a54afb5
Merge pull request #2525 from aramcon-badge/badge_2019_upstream
Add board definition files for AramCon Badge 2019
2020-01-15 18:29:36 -05:00
Benny Meisels
4bf10a75c7 Add board definition files for AramCon Badge 2019 2020-01-16 00:44:18 +02:00
Dan Halbert
f496b6cdc8
Merge pull request #2520 from joeycastillo/openbook-squashed
CircuitPython support for the Open Book
2020-01-15 17:21:19 -05:00
Limor "Ladyada" Fried
c1ed78de79
Merge pull request #2521 from dalegrover/add_seeeduino_xiao
Add Seeeduino XIAO board definitions
2020-01-15 16:57:38 -05:00
Dan Halbert
85dc4089b9 address review comments 2020-01-14 17:23:16 -05:00
dalegrover
d6e657b593 Initial commit. 2020-01-14 16:51:27 -05:00
Joey Castillo
eb481c9247 add support for the Open Book 2020-01-14 16:34:46 -05:00
Hierophect
1070f2c853 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2020-01-14 16:11:59 -05:00
Hierophect
05093f7f54 Fix VTOR relocate, add bootloader makefile handling 2020-01-14 15:50:00 -05:00
hierophect
7775513a5b
Merge pull request #2463 from hierophect/stm32-i2c-rework
STM32: I2C fix & general busio cleanup
2020-01-14 15:06:31 -05:00
Scott Shawcroft
b5df5ce1ce
Merge pull request #2507 from kamtom480/circuitpython-mkspk
Add mkspk source files
2020-01-14 12:05:36 -08:00
Scott Shawcroft
1d2e262a59
Merge pull request #2505 from theodox/master
Make all `PYTHON` env vars into `PYTHON3`
2020-01-14 10:55:23 -08:00
Scott Shawcroft
ed811fb9c0
Merge pull request #2504 from rhooper/fix-tuple-subscr
Fix tuple subscr
2020-01-14 10:53:50 -08:00
Hierophect
5aae8df5d7 style changes, fix i2c typo 2020-01-14 13:30:16 -05:00
Hierophect
c0dacba80f remove comment confusing py tools 2020-01-14 13:06:10 -05:00
Dan Halbert
5b1139db3e
Merge pull request #2511 from scs217/feather_m4_express_expanded_pinout
Added Dxx names to analog pins on Feather M4 Express pins.c file
2020-01-13 22:54:48 -05:00
scs217
50e718be99 second revision to line breaks for visibility per dhalbert 2020-01-13 22:13:39 -05:00
scs217
18957786f2 inserted line breaks between different pins (grouping together aliases for legibility) per request by dhalbert 2020-01-13 22:00:42 -05:00
scs217
c735289ddf Added Dxx names to analog pins on Feather M4 Express pins.c file 2020-01-13 21:19:17 -05:00
Dan Halbert
0367ba7495 fix some typos and leftovers 2020-01-13 18:29:34 -05:00
Dan Halbert
2a75196aa3 merge from adafruit/circuitpython 2020-01-13 18:15:32 -05:00
Dan Halbert
4ad004f24e put bonding to-do flags into Connection objects instead of using a heap-allocated queue 2020-01-13 17:52:32 -05:00
Hierophect
de2379bc30 minor WIP debug edits 2020-01-13 17:24:52 -05:00
Scott Shawcroft
2eb26a6d0b
Merge pull request #2457 from hierophect/stm32-cpython-compat
STM32: Cpython compatibility flag 2
2020-01-13 13:47:55 -08:00
Kamil Tomaszewski
cd842d363a Exclude mkspk from docs 2020-01-13 13:33:23 +01:00
Kamil Tomaszewski
402f6f66bd Add mkspk source files 2020-01-13 07:53:24 +01:00
Dan Halbert
9e7f8743c2 fix CCCD bonding store; avoid excessive bonding writes 2020-01-12 23:32:51 -05:00
Steve Theodore
dd4b0f6e9c
Make all PYTHON env vars into PYTHON3
make file contained a mix of references to `PYTHON` and `PYTHON3`, and did not build on a fresh install of Ubuntu (under Windows LXSS)
2020-01-11 21:37:54 -08:00
Roy Hooper
73e076a40c make types that depend on tuple subscr work 2020-01-11 18:21:43 -05:00
Dan Halbert
346ce3b73b wip: HID bonding works! 2020-01-10 23:55:45 -05:00
Scott Shawcroft
6ea1785457
Merge pull request #2501 from kamtom480/timerhook
Fix board_timerhook
2020-01-10 11:57:54 -08:00
Scott Shawcroft
6ea8d8a6c2
Merge pull request #2498 from dhalbert/optional-i2c-pullup-checking
Make requiring I2C pullups be optional
2020-01-10 11:42:44 -08:00
Scott Shawcroft
8708d3dc45
Merge pull request #2461 from jepler/urandom-hardfaults
Urandom hardfaults
2020-01-10 11:37:59 -08:00
Hierophect
1544d60000 working control 2020-01-10 13:09:14 -05:00
Hierophect
1229de4499 attempt to get control going again 2020-01-10 12:56:22 -05:00
Dan Halbert
360c876be4 add flag to i.mx port 2020-01-10 09:20:21 -05:00
Kamil Tomaszewski
357506dd9a Fix board_timerhook 2020-01-10 13:59:52 +01:00
Roy Hooper
2cb8f7b2df Add test for issue #2465 - tuple subsclass subscript 2020-01-09 20:13:53 -05:00
Dan Halbert
9c167af17a wip; redid flash writing to be compatible with SD 2020-01-09 17:40:02 -05:00
Dan Halbert
189f2d5f07 Make requiring I2C pullups be optional 2020-01-09 17:31:50 -05:00
Hierophect
4ec588bb37 spacing changes and text fix 2020-01-09 16:17:57 -05:00
Hierophect
e509115630 Merge branch 'master' into stm32-i2c-rework 2020-01-09 16:01:31 -05:00
Jeff Epler
d7c6d9cabd
Merge pull request #2459 from hierophect/stm32-spi-oneline
STM32: Allow simplex SPI
2020-01-09 10:03:44 -06:00
1c6efb9e66 os.urandom: remove unneeded sleep 2020-01-08 16:48:17 -06:00
Hierophect
10eed78dd8 use CFLAG to properly set define 2020-01-08 17:37:20 -05:00
f1c2dee1c0 style 2020-01-08 16:36:43 -06:00
Hierophect
b74e78d2c0 Merge remote-tracking branch 'upstream/master' into stm32-cpython-compat 2020-01-08 17:11:50 -05:00
Hierophect
270f0dfc7c text fix 2020-01-08 15:58:20 -05:00
Hierophect
ae22305869 Corrections to I2C, style 2020-01-08 15:55:53 -05:00
Scott Shawcroft
a10cd8580c
Merge pull request #2445 from jepler/mp3-jeplayer-fixes
Fixes for JEplayer
2020-01-08 12:50:13 -08:00
Hierophect
a9633a3c94 Reorganize I2C workaround, style changes 2020-01-08 15:33:35 -05:00
Roy Hooper
1caf6bd8d3 add missing .h file 2020-01-08 15:23:38 -05:00
Roy Hooper
e1c1e32ceb address code review 2020-01-08 15:17:54 -05:00
Roy Hooper
4e040b0152 add reset of heap to board reset for nrf port 2020-01-08 15:15:27 -05:00
Roy Hooper
34c9e00f08 try (re)using the buffer in neopixel_write 2020-01-08 15:14:53 -05:00
Dan Halbert
28c1e4f48e
Merge pull request #2448 from tannewt/packet_buffer
Add PacketBuffer and MTU negotiation support.
2020-01-08 14:37:28 -05:00
Scott Shawcroft
7a94940c89
Replace magic number and add comment. 2020-01-08 11:01:43 -08:00
Scott Shawcroft
d4492aaed0
Merge remote-tracking branch 'adafruit/master' into packet_buffer 2020-01-08 10:44:37 -08:00
Hierophect
d222c64538 Merge branch 'stm32-spi-oneline' into stm32-i2c-rework 2020-01-08 13:03:38 -05:00
Hierophect
90613aa5fb more cleanup and style syncing 2020-01-08 13:03:25 -05:00
Hierophect
b0f08ba465 Close algorithm edge case to match SPI 2020-01-08 12:32:43 -05:00
b3fb024301 nrf: Call into sd as many times as necessary to fill urandom request
Generating 51200 bytes in one go takes 4.966s, so that's a rate of about
10KiB/s.
2020-01-08 10:06:55 -06:00
Hierophect
3d5528b88f style edits 2020-01-08 10:53:53 -05:00
6735283d8f os: Don't require an on-stack buffer
This allows urandom requests of even 100k bytes to succeed on a fresh
VM session on a Metro M4 express.
2020-01-08 09:43:13 -06:00
5baaac55ce vstr_init_len: Don't crash if (size_t)-1 is passed
In this unusual case, (len + 1) is zero, the allocation in vstr_init
succeeds (allocating 1 byte), and then the caller is likely to erroneously
access outside the allocated region, for instance with a memset().

This could be triggered with os.urandom(-1) after it was converted to use
mp_obj_new_bytes_of_zeros.
2020-01-08 09:42:44 -06:00
Dan Halbert
22644d33c9
Merge pull request #2460 from tannewt/update_frozen
Update submodules including BusDevice and HID.
2020-01-07 21:14:15 -05:00
Scott Shawcroft
c4a64ae7a0
Don't change uf2 2020-01-07 16:52:17 -08:00
Scott Shawcroft
11a8fc726d
Update translations 2020-01-07 14:31:58 -08:00
Scott Shawcroft
5531253c76
Update submodules including BusDevice and HID.
HID's API has changed to take in devices explicitly so that both
USB and BLE work.
2020-01-07 14:25:27 -08:00
Dan Halbert
8d629a957d
Merge pull request #2367 from iot49/mtime
fix mtime on file creation
2020-01-07 17:19:40 -05:00
Scott Shawcroft
817c4af60c
Merge pull request #2456 from arturo182/mimxrt10xx
Add initial MIMXRT10XX port implementation
2020-01-07 13:58:09 -08:00
arturo182
cc7b57c8d4 mimxrt10xx: Add license for NXP code 2020-01-07 22:07:27 +01:00
Scott Shawcroft
866ac13405
Merge pull request #2450 from Marius-450/marius-display-limit-2
CIRCUITPY_DISPLAY_LIMIT = 2 for monster m4sk
2020-01-07 12:08:59 -08:00
arturo182
19803c664f mimxrt10xx: Add info on clock config source 2020-01-07 20:05:57 +01:00
Hierophect
d645ea222d Text fixes for consistency 2020-01-07 13:25:24 -05:00
Hierophect
6ab75fe8c5 Allow MOSI/MISO exclusion 2020-01-07 13:19:00 -05:00
arturo182
ff6d9d8a52
mimxrt10xx: Use the correct error for not implemented functionality
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-01-07 09:29:47 +01:00
Scott Shawcroft
5b127bd78c
Merge pull request #2452 from pewpew-game/pewpew-m4-bootloader-offsets
Take display offsets for PewPew M4 from the bootloader config
2020-01-06 21:05:31 -08:00
Hierophect
b778aee21d Make inclusion non-conditional 2020-01-06 17:08:52 -05:00
Hierophect
0bbeae1786 WIP edits 2020-01-06 15:37:37 -05:00
arturo182
0068bafbb6 Add MIMXRT10XX port to release build 2020-01-06 21:33:44 +01:00
arturo182
13e0cba6f1 Add initial MIMXRT10XX port 2020-01-06 21:08:49 +01:00
dd6010a17e Fix more build problems 2020-01-06 13:35:43 -06:00
Hierophect
fff5f8eb65 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2020-01-06 11:31:25 -05:00
Hierophect
7198cc8ed6 Changes to UF2 settings, reboot working, no usb 2020-01-06 11:30:23 -05:00
b1b4a9e842 fix doc build error 2020-01-06 09:26:32 -06:00
dc729718eb audiomp3: rename to MP3Decoder 2020-01-06 07:51:41 -06:00
Radomir Dopieralski
59ded1131f Take display offsets for PewPew M4 from the bootloader config
The PewPew M4 devices come with different displays, which require
different offsets. Since the information about offsets is saved in
the bootloader, we can take it from there.
2020-01-06 14:24:30 +01:00
Dan Halbert
390337b9a5 wip; compiles 2020-01-05 23:33:42 -05:00
Hierophect
f355642eab Boot linker edits 2020-01-04 16:29:31 -05:00
Hierophect
53238ad9b2 yaml changes 2020-01-04 13:57:38 -05:00
Hierophect
d0fab1c728 Clean up debugging edits 2020-01-04 13:53:31 -05:00
Hierophect
36088becc9 PWM Fix, plus debugging 2020-01-04 13:35:53 -05:00
Marius-450
3ad3d49959 changes only for monster m4sk 2020-01-04 12:32:49 -05:00
Marius-450
d2b2cf0add CIRCUITPY_DISPLAY_LIMIT = 2 2020-01-04 12:20:32 -05:00
Scott Shawcroft
82fb761c0f
Add PacketBuffer and MTU negotiation support.
PacketBuffer facilitates packet oriented BLE protocols such as BLE
MIDI and the Apple Media Service.

This also adds PHY, MTU and connection event extension negotiation
to speed up data transfer when possible.
2020-01-03 17:29:54 -08:00
Scott Shawcroft
776c9b011c
Merge pull request #2432 from tannewt/fix_nrf_uart
Fix nRF UART reset
2020-01-03 16:57:59 -08:00
Scott Shawcroft
f6ec1ea172
Throw an error when we cannot allocate PWM pixel buffer 2020-01-03 15:15:36 -08:00
Scott Shawcroft
6afb8dadbc
Change SPI and I2C in the same way. 2020-01-03 15:14:37 -08:00
Dan Halbert
fc5f776429
Merge pull request #2034 from rhooper/new-pixelbuf-api
Updates to pixelbuf API - Addresses #884
2020-01-03 17:19:02 -05:00
Dan Halbert
242d572470 wip 2020-01-03 10:24:07 -05:00
bd8650d35b samd/peripherals: take upstream update 2020-01-02 17:55:50 -06:00
Roy Hooper
767ce1cdf8 remove unnecessary GCC pragmas 2020-01-02 18:03:18 -05:00
Roy Hooper
ccf158b030 raise mp_raise_NotImplementedError 2020-01-02 18:00:36 -05:00
Roy Hooper
fdddb54db4 rename call_show to pixelbuf_call_show 2020-01-02 17:56:04 -05:00
ec22520992 MP3File: Add rms_level property
This lets a music player show it vu-meter style
2020-01-02 15:23:42 -06:00
Roy Hooper
4e1996856f Fix docstring for byteorder 2020-01-01 19:25:44 -05:00
Roy Hooper
12193913a8 move native fill to a helper to work around being unable to call a subclass show method from the native superclass 2020-01-01 17:30:17 -05:00
Roy Hooper
8129a8503a Revert "try a property with a callable static class"
This reverts commit ca5b2770cf.
2020-01-01 16:10:22 -05:00
Roy Hooper
ca5b2770cf try a property with a callable static class 2020-01-01 16:10:01 -05:00
Dan Halbert
32b82032a1
Merge pull request #2423 from pewpew-game/pewpew-m4-update
Update the PewPew M4 board and circuitpython-stage
2020-01-01 13:59:02 -05:00
Roy Hooper
64556e017d Merge branch 'master' into new-pixelbuf-api 2019-12-31 11:26:20 -05:00
Dan Halbert
1bc9279ba0
Merge pull request #2438 from dglaude/patch-2
Update Shape.c
2019-12-31 00:16:10 -05:00
Dan Halbert
c7d68fc3bc
Merge pull request #2440 from adafruit/tannewt-hwm4-uart-pins
Fix Hallowing M4 Express UART pin mapping
2019-12-30 23:45:14 -05:00
Dan Halbert
775adaec97
Merge pull request #2441 from dhalbert/clue_nrf52840_express
initial CLUE board defn
2019-12-30 18:20:07 -05:00
Dan Halbert
f0d34da556 add display support; rotation 270 2019-12-30 17:39:39 -05:00
Dan Halbert
3f9ebd2fed initial CLUE board defn 2019-12-30 17:10:42 -05:00
Hierophect
28b1d718a3 Tests for PWM issues, style changes 2019-12-30 15:15:55 -05:00
Scott Shawcroft
0223589e6c
Fix default UART too 2019-12-30 11:34:51 -08:00
Scott Shawcroft
e1d026f815
Update pins.c 2019-12-30 11:33:04 -08:00
Dan Halbert
264abd4741
Merge pull request #2428 from hathach/samd-improve-usb
improve usb dcd samd51
2019-12-30 13:39:17 -05:00
Dan Halbert
385ed1154f
Merge pull request #2439 from hierophect/stm32-cpython-compat
STM32: Cpython compatibility flag
2019-12-30 13:11:03 -05:00
Hierophect
e9dbc34d80 add cypthon compat setting 2019-12-30 11:35:02 -05:00
Hierophect
5b9209aa02 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2019-12-30 11:17:12 -05:00
David Glaude
01d49eb0a7
Update Shape.c
Make no sense to say this is experimental and will change in 4.0.0 when we are already above 4.0.0.
This should be removed, or updated to say it will not be in x.0.0
2019-12-30 16:54:16 +01:00
Roy Hooper
023d64fe4a Merge branch 'pixelbuf-subscr-change' into new-pixelbuf-api 2019-12-29 13:56:47 -05:00
Roy Hooper
f1a9039632 Merge branch 'master' into pixelbuf-subscr-change 2019-12-29 13:56:31 -05:00
Scott Shawcroft
cfd71d9023
Fix nRF UART reset
disable only turns off ENABLE but doesn't set the init tracking that
nrfx uses. uninit hangs if ENABLE is off and is called because it
waits forever for TX to stop.
2019-12-27 20:18:07 -08:00
hathach
adff14c5bc
more tinyusb update 2019-12-27 09:55:16 +07:00
Radomir Dopieralski
6205b55b19 Bump circuitpython-stage version to 1.0.8 2019-12-26 22:13:52 +01:00
hathach
62c4028cde
sync with https://github.com/hathach/tinyusb/pull/246
should fix slow enumeration
2019-12-26 23:04:16 +07:00
Dan Halbert
7387f60920
Merge pull request #2431 from jerryneedell/jerryn_stm_vbat
define board.VOLTAGE_MONITOR for feather_stm32f405_express
2019-12-26 09:29:58 -05:00
Jerry Needell
d38a0007f1 define board.VOLTAGE_MONITOR for feather_stm32f405_express 2019-12-26 08:46:27 -05:00
hathach
3492ba33d5
improve usb dcd samd51
fix race condition with setup packet + scsi status response
2019-12-26 00:18:04 +07:00
97bb46c047 MP3File: tweak buffer handling
After adding the ability to change files in an existing MP3File object,
it became apparent that at the beginning of a track some part of an
existing buffer was playing first.

I noticed that in get_buffer, the just-populated buffer wasn't being
returned, but the other one was.  But still after fixing this, I heard
wrong audio at the beginning of a track, so I took the heavy duty approach
and zeroed the buffers out.  That means there's a remaining bug to chase,
which is merely hidden by the memset()s.
2019-12-24 09:43:15 -06:00
5aa3e3eabb samd/peripherals: update 2019-12-24 09:36:19 -06:00
Ha Thach
9ba40de538
Merge pull request #2424 from hierophect/vbus-rename
STM32: rename vbus flag
2019-12-24 10:16:31 +07:00
Hierophect
b49ecc52b9 text fixes 2019-12-23 14:55:26 -05:00
Radomir Dopieralski
b06057395b Update PewPew M4
PewPew M4 now has the pew.py added to its frozen libraries. Some
features needed to be disabled to make room for that.
2019-12-23 18:37:36 +01:00
00628a7ddd MP3File: whitespace 2019-12-23 09:36:50 -06:00
02154caf24 MP3File: Add a settable ".file" property
This enables jeplayer to allocate just one MP3File at startup, rather
than have to make repeated large allocations while the application is
running.

The buffers have to be allocated their theoretical maximum, but that
doesn't matter much as all the real-life MP3 files I checked needed
that much allocation anyway.
2019-12-23 09:36:46 -06:00
Ha Thach
21cbd5ce96
Merge pull request #2379 from hierophect/update-tusb
Update Tinyusb
2019-12-23 17:58:26 +07:00
Roy Hooper
09d4fe0324 Merge branch 'master' into new-pixelbuf-api 2019-12-20 19:22:27 -05:00
Scott Shawcroft
e6fd513cfa
Merge pull request #2418 from tannewt/remove_re_from_cpx_displayio
Remove `re` from CPX Displayio build to make space.
2019-12-20 12:57:49 -08:00
Scott Shawcroft
f60b6481e0
Turn off gamepad on cpx crickit 2019-12-20 12:14:27 -08:00
Scott Shawcroft
b859e2b710
Remove re from CPX Displayio build to make space. 2019-12-20 11:43:56 -08:00
Scott Shawcroft
5fc20145d1
Merge pull request #2390 from jepler/displayio-set-rotation
displayio: make 'rotation' property settable
2019-12-20 09:34:25 -08:00
Scott Shawcroft
663f61cbf3
Merge pull request #2411 from jepler/update-circuitplayground
frozen: Update Adafruit_CircuitPython_CircuitPlayground submodule
2019-12-20 09:33:09 -08:00
Scott Shawcroft
f08c7d470d
Merge pull request #2410 from jepler/nrf-extended-samplerate
nrf: PWMAudioOut: 62500Hz limitation is not needed
2019-12-20 09:31:02 -08:00
Scott Shawcroft
773e1316d2
Merge pull request #2414 from jepler/speedup-gen-display-resources
gen_display_resources: speed it up
2019-12-19 15:48:22 -08:00
Kattni
f90fa5ea5f
Merge pull request #2413 from albang/fix_Typo-in-doc
Typo in doc
2019-12-19 18:42:13 -05:00
Scott Shawcroft
00538bd181
Merge pull request #2409 from jepler/update-mp3
mp3: update to upstream release 1.1.1
2019-12-19 15:41:57 -08:00
Scott Shawcroft
cca5260612
Merge pull request #2387 from rhooper/add-building-doc
Add BUILDING.md document for #2370
2019-12-19 15:36:03 -08:00
Jeff Epler
a93475707e gen_display_resources: speed it up
It was intended that the `f.load_glyphs` line was fast and did most of
the work.  However, it actually didn't, because it's necessary to pass
in a code point by number, not by string.

Additionally, a little light layer violation is needed to make the check
for missing characters fast.  This used to be less important, as no
fonts had missing characters.  However, it would take an appreciable
length of time on the Korean translation when failing to find hundreds
of different code points.

Testing performed: built
build-circuitplayground_express_displayio/autogen_display_resources.c with ko
translation before and after change.  verified the file content was identical.
Time went from about 7s on my machine to way under 1 second.
2019-12-19 16:26:01 -06:00
albang
00c226738d
Typo in doc 2019-12-19 23:16:51 +01:00
Jeff Epler
8d2a3e94d7 circuitplayground_express_displayio: reduce inlining to make .ko translation fit 2019-12-19 16:12:26 -06:00
Jeff Epler
cc3ef2d5e6 frozen: Update all submodules to latest tagged release 2019-12-19 16:12:26 -06:00
Jeff Epler
5f0af77880 mp3: update to upstream release 1.1.1 2019-12-19 16:12:26 -06:00
Jeff Epler
d31a387ace circuitplayground_express_displayio: reduce inlining to make .ko translation fit 2019-12-19 16:11:29 -06:00
Jeff Epler
516d930e6c frozen: Update all submodules to latest tagged release 2019-12-19 16:06:17 -06:00
4700f7cf23 frozen: Update Adafruit_CircuitPython_CircuitPlayground submodule 2019-12-19 10:35:57 -06:00
51af8aadb7 nrf: PWMAudioOut: 62500Hz limitation is not needed
.. and it gets in the way of some example programs, due to the way
circuitplayground library generates different frequency sine waves
2019-12-19 10:34:56 -06:00
ndgarage
16688180c6 add-ndbit6 2019-12-19 07:17:43 -07:00
Jeff Epler
5c42ae1e13 mp3: update to upstream release 1.1.1 2019-12-19 08:13:00 -06:00
Hierophect
902e242237 Revert "enable internal SPI intercepts. can brick USB"
This reverts commit 5b70fa0a64.
2019-12-18 17:17:06 -05:00
Hierophect
5b70fa0a64 enable internal SPI intercepts. can brick USB 2019-12-18 15:40:08 -05:00
Hierophect
3a5de7effd Remove merge overflow 2019-12-18 14:46:12 -05:00
hierophect
8e38ca1911
Merge pull request #2 from hathach/hierophect-update-tusb
merge with current master of circuitpython
2019-12-18 14:16:37 -05:00
Dan Halbert
a3559f14e7
Merge pull request #2403 from adafruit/tannewt-patch-1
Switch to fetching GCC from AWS
2019-12-18 13:20:08 -05:00
Roy Hooper
b90c39456b Merge branch 'master' into new-pixelbuf-api 2019-12-18 08:43:03 -05:00
hathach
d1f045880d Merge branch 'master' into hierophect-update-tusb 2019-12-18 16:52:04 +07:00
Ha Thach
25df6e613a
Merge pull request #2395 from hathach/nrfx-v2
upgrade nrfx API to v2
2019-12-18 16:14:25 +07:00
hathach
dad2663337 update nrfx submodule to v2 2019-12-18 15:39:11 +07:00
Dan Halbert
f2b1aeeed1
Merge pull request #2406 from tannewt/improve_usb_eject
Improve USB eject by resetting on replug
2019-12-17 23:30:30 -05:00
Scott Shawcroft
561fdfb279
Improve USB eject by resetting on replug 2019-12-17 19:01:03 -08:00
Roy Hooper
7571f9790b remove --recursive 2019-12-17 19:17:46 -05:00
Roy Hooper
d267dac4ac Address review feedback. 2019-12-17 18:59:54 -05:00
Scott Shawcroft
e9cb47ffbd
Merge pull request #2393 from dhalbert/increase-cpx-stack
Increase CPX stack size slightly
2019-12-17 14:35:37 -08:00
Hierophect
ba19cd9ecb Internal filesystem displayIO test 2019-12-17 17:33:49 -05:00
Scott Shawcroft
c7a2228b1b
Switch to fetching GCC from AWS
Fixes #2388
2019-12-17 14:30:44 -08:00
rhooper
7b1ad3ee65
Merge pull request #2 from tannewt/pixelbuf_subscr
Fix tuple test
2019-12-17 14:20:10 -05:00
Hierophect
f136ef2b91 add most remaining pindefs 2019-12-17 14:00:35 -05:00
Kattni
1108e8f2cc
Merge pull request #2400 from jepler/nrf-rawsample-loop
nRF: PWMAudioOut: handle non-looping rawsamples
2019-12-17 13:53:31 -05:00
Hierophect
4bfb255a1c merge Thach's suggestion 2019-12-17 12:58:16 -05:00
hierophect
409b5ffe9e
Merge pull request #1 from hathach/hierophect-update-tusb
stm32 explicitily enable/disable vbus sense, fix warning
2019-12-17 12:55:22 -05:00
Dan Halbert
be644228a2
Merge pull request #2397 from jepler/excluded-mpy-subdirs
preprocess_frozen_modules: exclude subdirs of examples, docs, tests
2019-12-17 12:31:08 -05:00
6a8efa6ef1 preprocess_frozen_modules: exclude subdirs of examples, docs, tests
.. this reclaims several kB on CPX, where we really need it.
2019-12-17 10:06:44 -06:00
hathach
554373fdd9 bump tinyusb lib submodule 2019-12-17 22:26:08 +07:00
8137ac4c49 nRF: PWMAudioOut: handle non-looping rawsamples 2019-12-17 08:59:08 -06:00
Roy Hooper
a7f8a0afd7 Address code review feedback. 2019-12-17 09:48:55 -05:00
hathach
894cad2e17 upgrade nrfx API to v2 2019-12-17 21:39:52 +07:00
hathach
ebc21144b8
stm32 explicitily enable/disable vbus sense, fix warning 2019-12-17 10:55:19 +07:00
Dan Halbert
20f7fbc6f5
Merge pull request #2389 from Teknikio/master
Teknikio Bluebird Support
2019-12-16 22:51:11 -05:00
Dan Halbert
2cb04737f1
Merge pull request #2391 from jepler/genhdr-build-error
py.mk: Fix race condition building .mo files
2019-12-16 22:49:46 -05:00
Roy Hooper
a46adb6175 remove . from end of url 2019-12-16 20:15:53 -05:00
Dan Halbert
81581b345c Increase CPX stack size slightly 2019-12-16 17:25:22 -05:00
201f4648c4 py.mk: Fix race condition building .mo files
By having an order-only dependency on the directory itself, the directory
is sure to be created before the rule to create a .mo file is.

This fixes a low-freqency error on github actions such as

> msgfmt: error while opening "build/genhdr/en_US.mo" for writing: No such file or directory
2019-12-16 15:33:55 -06:00
JoeBakalor
03ea9ff66e reset atmel-samd submodule to correct commit 2019-12-16 16:31:44 -05:00
a63da7a6c0 displayio: make 'rotation' property settable 2019-12-16 15:23:41 -06:00
Joe Bakalor
822828b9a4
Merge pull request #6 from adafruit/master
Pull master
2019-12-16 15:06:58 -05:00
Roy Hooper
ef2a8906dd move call to show outside loop 2019-12-16 15:05:09 -05:00
Scott Shawcroft
83d1aac671
Merge pull request #2280 from xinabox/master
Support for XinaBox CC03 and CS11
2019-12-16 10:16:03 -08:00
JoeBakalor
2abccc1745 update vid and pid for teknikio_bluebird 2019-12-16 08:58:56 -05:00
KalbeAbbas
89ed64157d
Merge branch 'master' into master 2019-12-16 13:25:44 +05:00
KalbeAbbas
87dc9bee8b
Update mpconfigboard.mk 2019-12-16 12:25:51 +05:00
KalbeAbbas
6f6d6c01ab
Update mpconfigboard.mk 2019-12-16 12:18:16 +05:00
Scott Shawcroft
8384e4676b
Merge pull request #2384 from jepler/mp3-fixes
MP3: skip id3v2 tags, make "bartlebeats" tracks playable
2019-12-15 21:59:39 -08:00
Roy Hooper
cca42e94d7 Add to BUILDING to table of contents. 2019-12-14 15:00:42 -05:00
Roy Hooper
b26f8a7815 Add a BUILDING.md - #2370 2019-12-14 14:34:26 -05:00
91a1706160 MP3: look harder for frame info
Apparently sometimes, a proper "frame info" block is not found after
a "sync word".  Keep looking for one as needed, instead of giving up
after one try.

This was one reason that the "bartlebeats" mp3s would not play.
2019-12-13 18:31:12 -06:00
bf9b7e7ece MP3: skip ID3V2 metadata
This was one reason that the "bartlebeats" mp3s would not play.
2019-12-13 18:31:12 -06:00
a854a76819 audiocore: The arguments to reset_buffer went missing
In conversion I missed these arguments were being passed, but noticed
it when an implausible value for audio_channel was sent to mp3's
reset_buffer method.

It's not clear whether there was any negative impact to this, but it
should be fixed!
2019-12-13 18:31:12 -06:00
Scott Shawcroft
d8e66a5f32
try 2. make namedtuple types handle subclasses 2019-12-13 16:00:04 -08:00
Scott Shawcroft
7f7105d36d
Fix tuple test 2019-12-13 14:52:04 -08:00
Roy Hooper
dc8dd6df20 Revert subscr signature change 2019-12-13 14:29:15 -05:00
Roy Hooper
15072c69c9 push changes 2019-12-13 14:07:53 -05:00
Roy Hooper
cc31f2d10f update translations 2019-12-13 13:46:37 -05:00
Roy Hooper
72ad2e9259 Merge branch 'master' into new-pixelbuf-api 2019-12-13 13:45:16 -05:00
JoeBakalor
32744a04e1 update bluebird make file 2019-12-13 09:08:21 -05:00
Joe Bakalor
1c466f460a
Merge pull request #5 from Teknikio/teknikio/bluebird
Teknikio/bluebird
2019-12-13 08:55:26 -05:00
Joe Bakalor
3992a870e5
Merge branch 'master' into teknikio/bluebird 2019-12-13 08:55:15 -05:00
JoeBakalor
4bee6536c9 updates to bluebird 2019-12-13 08:52:03 -05:00
Joe Bakalor
b484c89b73
Merge pull request #4 from adafruit/master
Pull master
2019-12-13 08:51:06 -05:00
Dan Halbert
6c3d555b87
Merge pull request #2382 from tannewt/scannable_connectable_extended_error
Add extended, connectable and scannable error.
2019-12-12 19:46:01 -05:00
Scott Shawcroft
51ba0ed250
Update translations 2019-12-12 15:33:46 -08:00
Hierophect
99c02b5afb usb not working... 2019-12-12 17:53:04 -05:00
Hierophect
e4fb414b91 clean up definitions post merge 2019-12-12 17:17:29 -05:00
Scott Shawcroft
9a3d45e7d0
Add extended, connectable and scannable error.
Related to https://github.com/adafruit/Adafruit_CircuitPython_BLE/issues/44
2019-12-12 13:46:59 -08:00
Hierophect
ab3762d8f5 Merge branch 'dumb-git-stuff' into stm32-meowbit 2019-12-12 16:34:11 -05:00
Dan Halbert
10183d5924
Merge pull request #2371 from dhalbert/ld-cleanup
Parameterize flash storage layout for atmel-samd and nrf
2019-12-12 16:32:51 -05:00
Hierophect
7e0719117b Revert "remove F401 additions to streamline"
This reverts commit 12737e2821.
2019-12-12 16:32:33 -05:00
Hierophect
2be18a7b53 revert dumb thing 2019-12-12 16:30:24 -05:00
Hierophect
842f8b2d3d Revert "Remove meowbit for now"
This reverts commit 006182f4e8.
2019-12-12 16:27:32 -05:00
Dan Halbert
ef2ef7a6b8 merge from master 2019-12-12 15:51:13 -05:00
Scott Shawcroft
bcd03ed7ee
Merge pull request #2381 from dhalbert/nvm-write-safe-mode-cleanup
Fix flash write error handling; clean up safe mode message printing
2019-12-12 12:44:11 -08:00
Dan Halbert
e11fabd5e0 moved nrf internal filesystem to just below bootloader 2019-12-12 14:57:23 -05:00
Dan Halbert
1b3028bed1 make translate and remove backslash-r's 2019-12-12 14:51:50 -05:00
Dan Halbert
f1404638f6
Merge pull request #2380 from tannewt/gcc9_fixes_from_mp
Incorporate GCC9 fixes from upstream
2019-12-12 14:46:52 -05:00
Dan Halbert
7889b999cc Fix flash write error handling; clean up safe mode message printing 2019-12-12 14:41:49 -05:00
Damien George
767d47dd60
py/nlrthumb: Save and restore VFP registers s16-s21 when CPU has them.
These s16-s21 registers are used by gcc so need to be saved.  Future
versions of gcc (beyond v9.1.0), or other compilers, may eventually need
additional registers saved/restored.

See issue #4844.
2019-12-12 11:10:10 -08:00
Damien George
1cf0ce094a
py/nlr: Use MP_UNREACHABLE at the end of arch-specific nlr_jump funcs.
Recent versions of gcc perform optimisations which can lead to the
following code from the MP_NLR_JUMP_HEAD macro being omitted:

    top->ret_val = val; \
    MP_NLR_RESTORE_PYSTACK(top); \
    *_top_ptr = top->prev; \

This is noticeable (at least) in the unix coverage on x86-64 built with gcc
9.1.0.  This is because the nlr_jump function is marked as no-return, so
gcc deduces that the above code has no effect.

Adding MP_UNREACHABLE tells the compiler that the asm code may branch
elsewhere, and so it cannot optimise away the code.
2019-12-12 11:01:40 -08:00
Damien George
63046d800d
py: Introduce MP_UNREACHABLE macro to annotate unreachable code.
And use it to replace the same pattern at the end of nlrthumb.c:nlr_jump.
2019-12-12 11:01:39 -08:00
Hierophect
9339903a30 Revert "delete old boards"
This reverts commit 00e953e86c.
2019-12-12 13:24:46 -05:00
Scott Shawcroft
887f64eed8
Merge pull request #2376 from dhalbert/nrf-internal-flash-volatile-fix
nrf: sd_flash_operation_status should be volatile
2019-12-12 10:17:26 -08:00
Scott Shawcroft
bf8796bca4
Merge pull request #2375 from jepler/mp3-hardfault
MP3File: Bug fixes
2019-12-12 10:14:11 -08:00
Hierophect
d44a758a2d Add no VBUS option to blackpill 2019-12-12 12:48:37 -05:00
Hierophect
39f3063ed4 Merge remote-tracking branch 'upstream/master' into update-tusb 2019-12-12 12:47:48 -05:00
Hierophect
885a1415d0 Update stm32 usb.c 2019-12-12 12:47:40 -05:00
Hierophect
1244125bdc update tinyusb 2019-12-12 12:21:00 -05:00
1cdac3f16a MP3File: Fix stereo playback on samd AudioOut
There were several problems with the way this worked -- the read_count
approach was too complicated and I made a mistake "simplifying" it from
WaveFile.  And when the right channel was returned, it was off by 1 byte,
making it into static.

Instead, directly track which is the "other" channel that has data
available, and by using the right data type make the "+ channel"
arithmetic give the right result.

This requires a double cast (int16_t*)(void*) due to an alignment warning;
the alignment is now ensured manually, but the compiler doesn't make the
necessary inference that the low address bit must be clear.
2019-12-12 08:44:15 -06:00
JoeBakalor
dde7c5e145 Merge branch 'master' of https://github.com/Teknikio/circuitpython 2019-12-12 08:59:37 -05:00
Joe Bakalor
bf4138b0e4
Merge pull request #3 from adafruit/master
Pull master
2019-12-12 08:59:22 -05:00
JoeBakalor
1e95466bac Add teknikio_bluebird to build.yml 2019-12-12 07:48:50 -05:00
Dan Halbert
fd03fd5e4f sd_flash_operation_status should be volatile 2019-12-12 00:19:03 -05:00
8c841af946 MP3File: Avoid crash in get_buffer when deinitted
When a playing mp3 is deinitted, it's possible to reach get_buffer,
but all the internal pointers are NULL.  This would lead to a hard fault.
Avoid it by returning GET_BUFFER_ERROR instead.
2019-12-11 22:04:10 -06:00
Dan Halbert
8176325130 Merge remote-tracking branch 'adafruit/master' into ld-cleanup 2019-12-11 22:52:59 -05:00
Hierophect
70d899d354 WIP to successful USB test 2019-12-11 17:58:21 -05:00
Melissa LeBlanc-Williams
b220befef8
Merge pull request #2373 from makermelissa/master
Added PyPortal Pynt alias for PyPortal
2019-12-11 13:04:50 -08:00
Dan Halbert
ae64a669dd address review comments 2019-12-11 15:43:06 -05:00
JoeBakalor
0da5dceccf update bluebird makefile 2019-12-11 15:25:16 -05:00
JoeBakalor
a273a7c55e add remaining peripheral pin maps and digital/analog pin definitions 2019-12-11 15:23:16 -05:00
JoeBakalor
006d85d5c2 add make file and board configuration, add accelerometer pin mappings 2019-12-11 14:49:59 -05:00
Melissa LeBlanc-Williams
d67a9a8271 Added PyPortal Pynt alias 2019-12-11 11:41:10 -08:00
Scott Shawcroft
ce8d400819
Merge pull request #2369 from jepler/nrf-usb-crash
Fix crashes while copying files to nRF via USB
2019-12-11 11:10:08 -08:00
Scott Shawcroft
e5adf3c43f
Merge pull request #2361 from hierophect/stm32-blackpill
STM32: Blackpill Support
2019-12-11 11:07:23 -08:00
Dan Halbert
1e11f2708b remove debugging leftovers 2019-12-11 09:34:56 -05:00
iot49
73b6e5d8e6 added correct include files 2019-12-10 19:44:11 -08:00
Dan Halbert
d9ca4c9a60 fix build failures 2019-12-10 22:39:44 -05:00
Dan Halbert
c6221c5956 Remove no-longer-used nrf and atmel-samd .ld files 2019-12-10 21:22:17 -05:00
Dan Halbert
68ae47907c merge from upstream 2019-12-10 21:04:46 -05:00
Roy Hooper
0326c98fd5 Merge branch 'master' into new-pixelbuf-api 2019-12-10 20:44:43 -05:00
Roy Hooper
222dd29a14 Fix slice step. 2019-12-10 20:43:00 -05:00
Dan Halbert
013c840862 working on all ports 2019-12-10 20:27:30 -05:00
6305d48947 gc_free: give a better error when freeing outside of VM 2019-12-10 17:07:52 -06:00
f4a5c17b5e supervisor: external_flash: don't call m_free when it's bad
It's extremely dubious that we have these handles that we think
are to GC'd memory at a time when the gc pool may not be initialized.
Hopefully, they WERE valid GC memory and are undisturbed by the teardown
of the interpreter that can lead to this state.

In this case, don't try to m_free them, the memory will become free when
the GC heap is reinitialized.

Closes: #2338 (together with previous commit)
2019-12-10 17:07:20 -06:00
b22fbcd77d supervisor: external_flash: don't call m_malloc_maybe when it's bad 2019-12-10 17:06:09 -06:00
Scott Shawcroft
024ba978ec
Merge pull request #2337 from jepler/mp3
Add MP3 playback
2019-12-10 13:55:25 -08:00
hierophect
30aba46735
Merge branch 'master' into stm32-blackpill 2019-12-10 15:38:42 -05:00
Hierophect
33233934e9 text fix 2019-12-10 15:13:11 -05:00
Hierophect
0e2a03e3bd revert usb.c additions 2019-12-10 15:07:39 -05:00
a08d9e6d8e audiocore: Add MP3File using Adafruit_MP3 library 2019-12-10 14:03:06 -06:00
a484a93b29 nRF: disk_read must be 4-byte aligned
.. a requirement that oofatfs needs to be taught to respect.

This problem can be demonstrated with the following snippet, except
that the related file ("test.bin") must also be contiguous on the
filesystem.  You can ensure this by reformatting your device's filesystem
before testing, then copying any single file bigger than 4kB to test.bin.

    f = open("test.bin", "rb")
    f.seek(2048)
    b = bytearray(2048)
    v = memoryview(b)
    f.readinto(v[909:])

Closes: #2332
2019-12-10 14:03:06 -06:00
Hierophect
e328e9c106 minor text changes 2019-12-10 15:02:38 -05:00
Scott Shawcroft
387ab6c87e
Merge pull request #2315 from hierophect/stm32-pyb-nano
STM32: Add PYB Nano support
2019-12-10 11:25:07 -08:00
Scott Shawcroft
dda9ea09b1
Merge pull request #2363 from jepler/samd-neopixel
samd: neopixel: Fix neopixels after #2297
2019-12-10 11:23:18 -08:00
Scott Shawcroft
8497ea8aab
Merge pull request #2365 from dhalbert/cpb-power-switch
Add POWER_SWITCH pin to CPB
2019-12-10 10:53:45 -08:00
Joe Bakalor
dbc28e35c5
Merge pull request #2 from adafruit/master
Pull master
2019-12-10 11:50:49 -05:00
iot49
0712c95225 fix mtime on file creation 2019-12-09 23:14:26 -08:00
Dan Halbert
60f399395a Add POWER_SWITCH pin to CPB 2019-12-09 18:30:24 -05:00
Scott Shawcroft
19ac8aea8c
Merge pull request #2353 from jepler/audiosample-protocol
Convert audiosamples to use micropython "protocols" (safely)
2019-12-09 14:50:16 -08:00
Scott Shawcroft
2379cd9ef4
Merge pull request #2364 from jepler/nrf-stereo-rate
nRF: PWMAudioOut: fix half-speed playback of stereo samples
2019-12-09 14:23:29 -08:00
Hierophect
b0a5e81c46 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2019-12-09 12:29:00 -05:00
Hierophect
00e953e86c delete old boards 2019-12-09 12:28:25 -05:00
13620cc4db nRF: PWMAudioOut: fix half-speed playback of stereo samples
The "spacing" of "buffer structure" is confusing, use the "channel count"
instead.

Testing performed on nrf52840 feather:

Play stereo and mono, 8- and 16-bit, 8kHz RawSamples representing 333.33Hz
square waves.

Use both mono and stereo PWMAudioOut instances.

Scope the RC-filtered signal and use the scope's frequency
measurement function, verify the frequency is 333 or 334Hz in all tested
cases.

In the "stereo output" cases, verify both the L and R channels.  Verify
the output amplitude is the same in both channels.

In the "stereo output" cases, run a second test where the L channel's
amplitude is attenuated 50%. Verify the output amplitude is correct
in each channel.
2019-12-09 10:57:55 -06:00
Roy Hooper
dd7ac68fb0 fix slice anf fill bugs 2019-12-08 16:53:08 -05:00
1905d0746d samd: neopixel: Fix neopixels after #2297
This adapts the "inline assembler" code from the UF2 bootloader, which
in turn is said to be adapted from the arduino neopixel library.

This requires the cache remain ON when using M0, and be turned OFF on M4
(determined by trial and error)

Testing performed on a Metro M4:
 * measured timings using o'scope and found all values within
   datasheet tolerance.
 * Drove a string of 96 neopixels without visible glitches
 * on-board neopixel worked

Testing performed on a Circuit Playground Express (M0):
 * Color wheel code works on built-in neopixels
 * Color wheel code works on 96 neopixel strip

As a bonus, this may have freed up a bit of flash on M0 targets. (2988 ->
3068 bytes free on Trinket M0)

Closes: #2297
2019-12-07 19:19:45 -06:00
Dan Halbert
f5e913101c
Merge pull request #2301 from tannewt/support_extended_advertising
Add support for extended (>31 byte) BLE advertisements.
2019-12-06 23:51:05 -05:00
Dan Halbert
fe05be86e5
Merge pull request #2362 from tannewt/fix_service_list_crash
Check connection validity after service discovery.
2019-12-06 23:48:37 -05:00
Scott Shawcroft
da0ea979ff
Check connection validity after service discovery.
Fixes #2347
2019-12-06 16:03:14 -08:00
Hierophect
dd4d3a662d conditional for F412 register difference 2019-12-06 16:44:17 -05:00
Hierophect
252da17bc9 Create VBUS disable interface in shared supervisor 2019-12-06 15:55:00 -05:00
Dan Halbert
559ce6a949
Merge pull request #2356 from tannewt/central_pairing
Add connection interval and debugging
2019-12-06 15:19:40 -05:00
Dan Halbert
d628d2a261 atmel-samd working 2019-12-06 15:18:20 -05:00
d5eca87ca2 audiocore: use mp_obj_t in prototypes 2019-12-06 13:25:40 -06:00
c38a2ac334 make translate 2019-12-06 13:25:28 -06:00
Scott Shawcroft
e8a54eacaa
Comment supervisor ble data arrays. 2019-12-06 11:13:22 -08:00
Scott Shawcroft
840f88b8f0
Merge pull request #2350 from hierophect/stm32-neopixel-fix
Fix for neopixels on <100MHz STM32 boards
2019-12-06 10:40:50 -08:00
Hierophect
6c8503b3c6 VBUS fix actually doesn't work 2019-12-06 12:39:22 -05:00
Hierophect
2a01f0806e text fixes 2019-12-06 11:58:26 -05:00
Hierophect
0ae08e275d remove pyb nano folder 2019-12-06 11:54:01 -05:00
Hierophect
f6d0e912c9 remove old 401 files 2019-12-06 11:52:40 -05:00
Hierophect
2dcfc9d411 USB fixes and cleanup 2019-12-06 11:41:38 -05:00
Dan Halbert
a0721fc94a Merge remote-tracking branch 'adafruit/master' into ld-cleanup 2019-12-05 22:46:38 -05:00
Dan Halbert
40434d6919 wip 2019-12-05 22:45:53 -05:00
Hierophect
9b43d5ced4 Merge remote-tracking branch 'upstream/master' into stm32-blackpill 2019-12-05 14:25:39 -05:00
60f489d36a audiocore: restore the prototypes of audiosample_xxx functions 2019-12-05 13:08:32 -06:00
49a547eed8 proto: Use %q format-string shortcut 2019-12-05 13:06:10 -06:00
Scott Shawcroft
12f64c7c16
Merge pull request #2352 from hierophect/stm32-displayio
STM32: Displayio
2019-12-05 10:18:07 -08:00
Scott Shawcroft
d50f93058d
Merge pull request #2358 from dhalbert/idempotent-bleio-disconnect
Make _bleio.Connection.disconnect() idempotent
2019-12-05 10:04:08 -08:00
Hierophect
c53496a55e remove redundant NOPs 2019-12-05 12:45:09 -05:00
Hierophect
ab74f45bfb Define polarity and phase in Fourwire 2019-12-05 11:44:21 -05:00
Hierophect
f3f2c7f5de change default phase for SPI 2019-12-05 11:38:20 -05:00
Dan Halbert
e30dde0afc Make _bleio.Connection.disconnect() idempotent 2019-12-05 08:40:53 -05:00
Scott Shawcroft
17c8356b8c
Add connection interval and debugging
This also sets TinyUSB to master and to not include its submodules.

It also fixes an old displayio example comment and retries gattc
reads.
2019-12-04 14:39:02 -08:00
Scott Shawcroft
19dc219ff7
Merge pull request #2351 from hierophect/stm32-i2c-never-reset
STM32: Add I2C never reset
2019-12-04 10:26:51 -08:00
e2f319fc6b Update translations 2019-12-04 09:59:00 -06:00
Hierophect
3de1b9edbe Merge remote-tracking branch 'upstream/master' into stm32-displayio 2019-12-04 10:50:14 -05:00
feb8eb935b audiosample: convert to use a protocol
This eases addition of new sample sources, since the manual virtual
function dispatch functions are just calls via a protocol
2019-12-04 09:31:52 -06:00
238e121236 protocols: Allow them to be (optionally) type-safe
Protocols are nice, but there is no way for C code to verify whether
a type's "protocol" structure actually implements some particular
protocol.  As a result, you can pass an object that implements the
"vfs" protocol to one that expects the "stream" protocol, and the
opposite of awesomeness ensues.

This patch adds an OPTIONAL (but enabled by default) protocol identifier
as the first member of any protocol structure.  This identifier is
simply a unique QSTR chosen by the protocol designer and used by each
protocol implementer.  When checking for protocol support, instead of
just checking whether the object's type has a non-NULL protocol field,
use `mp_proto_get` which implements the protocol check when possible.

The existing protocols are now named:
    protocol_framebuf
    protocol_i2c
    protocol_pin
    protocol_stream
    protocol_spi
    protocol_vfs
(most of these are unused in CP and are just inherited from MP; vfs and
stream are definitely used though)

I did not find any crashing examples, but here's one to give a flavor of what
is improved, using `micropython_coverage`.  Before the change,
the vfs "ioctl" protocol is invoked, and the result is not intelligible
as json (but it could have resulted in a hard fault, potentially):

    >>> import uos, ujson
    >>> u = uos.VfsPosix('/tmp')
    >>> ujson.load(u)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: syntax error in JSON

After the change, the vfs object is correctly detected as not supporting
the stream protocol:
    >>> ujson.load(p)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    OSError: stream operation not supported
2019-12-04 09:29:57 -06:00
Hierophect
e6b45656f9 Add module and empty parallelbus 2019-12-03 17:18:42 -05:00
Hierophect
012b3bdf18 Add I2C never reset, SPI bugfix 2019-12-03 16:18:49 -05:00
Hierophect
45a6b03d40 copy from busted branch 2019-12-03 15:30:12 -05:00
Scott Shawcroft
15886b1505
Merge pull request #2345 from jepler/compressed-unicode
translation: Compress as unicode, not bytes
2019-12-02 17:11:49 -08:00
Scott Shawcroft
fce81e6868
Merge pull request #2297 from jepler/tick-refactor
Call background tasks only once per ms
2019-12-02 16:45:51 -08:00
Scott Shawcroft
e1a904f74a
Merge pull request #2306 from jepler/gcc9
build.yml: Use a newer build toolchain
2019-12-02 16:04:52 -08:00
Scott Shawcroft
dd30a7fe88
Merge pull request #2344 from hexthat/patch-5
Update zh_Latn_pinyin.po
2019-12-02 14:58:30 -08:00
1a0dcb5caa makeqstrdata: reclaim some more bytes on some translations
If a translation only has unicode code points 255 and below, the "values"
array can be 8 bits instead of 16 bits.  This reclaims some code size,
e.g., in a local build, trinket_m0 / en_US reclaimed 112 bytes and de_DE
reclaimed 104 bytes.  However, languages like zh_Latn_pinyin, which use
code points above 255, did not benefit.
2019-12-02 14:49:23 -06:00
Roy Hooper
0d267eaee1 fix compile fails 2019-12-02 14:25:57 -05:00
Roy Hooper
659dcce635 run translate 2019-12-02 14:07:46 -05:00
Roy Hooper
a4bbf35092 Merge branch 'master' into new-pixelbuf-api 2019-12-02 14:06:33 -05:00
Hierophect
12737e2821 remove F401 additions to streamline 2019-12-02 12:28:48 -05:00
879e1041c9 makeqstrdata: fix printing of 'increased length' message 2019-12-02 10:18:48 -06:00
e06a3bbceb translation: Compress as unicode, not bytes
By treating each unicode code-point as a single entity for huffman
compression, the overall compression rate can be somewhat improved
without changing the algorithm.  On the decompression side, when
compressed values above 127 are encountered, they need to be
converted from a 16-bit Unicode code point into a UTF-8 byte
sequence.

Doing this returns approximately 1.5kB of flash storage with the
zh_Latn_pinyin translation. (292 -> 1768 bytes remaining in my build
of trinket_m0)

Other "more ASCII" translations benefit less, and in fact
zh_Latn_pinyin is no longer the most constrained translation!
(de_DE 1156 -> 1384 bytes free in flash, I didn't check others
before pushing for CI)

English is slightly pessimized, 2840 -> 2788 bytes, probably mostly
because the "values" array was changed from uint8_t to uint16_t,
which is strictly not required for an all-ASCII translation.  This
could probably be avoided in this case, but as English is not the
most constrained translation it doesn't really matter.

Testing performed: built for feather nRF52840 express and trinket m0
in English and zh_Latn_pinyin; ran and verified the localized
messages such as
    Àn xià rènhé jiàn jìnrù REPL. Shǐyòng CTRL-D chóngxīn jiāzài.
and
    Press any key to enter the REPL. Use CTRL-D to reload.
were properly displayed.
2019-12-02 09:46:46 -06:00
002f5c0f1c samd: trinket_m0: make board fit again 2019-12-02 08:25:48 -06:00
899202aca7
Merge branch 'master' into gcc9 2019-12-02 07:27:03 -06:00
hexthat
5a49e58fb4
Update zh_Latn_pinyin.po
Added Translations
2019-12-01 09:38:39 -08:00
95d9c49e43 Merge remote-tracking branch 'origin/master' into tick-refactor 2019-11-29 11:27:09 -06:00
d843156a5e samd: Consolidate small build optimization flags
.. inline-unit-growth was the same across all boards, and the highest
max-inline-insns-auto parameter was shared across 2 of 5 boards, so it's
worth a little work to follow the DRY principle
2019-11-29 10:51:16 -06:00
Scott Shawcroft
83ecb1b65e
Merge pull request #2331 from dhalbert/uart-blocking-and-timeout
make UART.write be blocking on SAMD; add timeout property
2019-11-27 15:36:04 -08:00
Dan Halbert
ae52ec7c85 make translate again 2019-11-27 14:54:35 -05:00
Dan Halbert
d089f16656 'seconds' 2019-11-27 14:49:39 -05:00
Dan Halbert
dd6dfeb30a Squeeze pyruler zh_Latn_pinyin 2019-11-27 14:47:35 -05:00
Dan Halbert
778a7a73e5 make translate 2019-11-27 13:13:29 -05:00
Dan Halbert
b32a9192df make UART.write be blocking on SAMD; add timeout property 2019-11-27 13:05:29 -05:00
d9c808d938
Merge pull request #2299 from iayanpahwa/sample-code-file-supervisor
Supervisor: create code.py file with sample code
2019-11-27 08:49:00 -06:00
Roy Hooper
a9624fff25 add show 2019-11-26 21:28:41 -05:00
Scott Shawcroft
cc008598d0
Merge pull request #2282 from theacodes/native-if-available
Make the @micropython.native decorator no-op if support isn't enabled
2019-11-26 15:52:53 -08:00
Roy Hooper
56720eae0a remove unnecessary intermediate mp_obj_subscr wrapper 2019-11-26 18:39:08 -05:00
Roy Hooper
0b0aa5c5cf Undo github workflow workaround 2019-11-26 18:19:48 -05:00
Dan Halbert
f7426e0e61
Merge pull request #2330 from tannewt/epaper_gc_fix
Fix ePaper so it works after a GC.
2019-11-26 16:37:02 -05:00
Scott Shawcroft
3fc58cee38
Merge remote-tracking branch 'adafruit/master' into support_extended_advertising 2019-11-26 13:12:43 -08:00
Thea Flowers
84e1d7f304
Make the @micropython.native decorator no-op if support isn't enabled
When adding the ability for boards to turn on the `@micropython.native`, `viper`, and `asm_thumb` decorators it was pointed out that it's somewhat awkward to write libraries and drivers that can take advantage of this since the decorators raise `SyntaxErrors` if they aren't enabled. In the case of `viper` and `asm_thumb` this behavior makes sense as they require writing non-normative code. Drivers could have a normal and viper/thumb implementation and implement them as such:

```python
try:
    import _viper_impl as _impl
except SyntaxError:
    import _python_impl as _impl

def do_thing():
    return _impl.do_thing()
```

For `native`, however, this behavior and the pattern to work around it is less than ideal. Since `native` code should also be valid Python code (although not necessarily the other way around) using the pattern above means *duplicating* the Python implementation and adding `@micropython.native` in the code. This is an unnecessary maintenance burden.

This commit *modifies* the behavior of the `@micropython.native` decorator. On boards with `CIRCUITPY_ENABLE_MPY_NATIVE` turned on it operates as usual. On boards with it turned off it does *nothing*- it doesn't raise a `SyntaxError` and doesn't apply optimizations. This means we can write our drivers/libraries once and take advantage of speedups on boards where they are enabled.
2019-11-26 13:09:30 -08:00
Scott Shawcroft
d32dc814d3
Fix ePaper so it works after a GC.
We weren't correctly collecting the start and stop sequences. As
a result, the GC would free the space and allocate other info
there.

Thanks to JacobT on Discord for the bug report!
2019-11-26 12:48:36 -08:00
Dan Halbert
e560b419f8
Merge pull request #2325 from sarfata/sarfata/add-shirtty-master
Add shIRtty board
2019-11-26 15:23:56 -05:00
Dan Halbert
97d90c6039
Merge pull request #2329 from theacodes/set-winterbloom-sol-usb-name
Set USB_INTERFACE_NAME for winterbloom_sol
2019-11-26 15:17:14 -05:00
Dan Halbert
5b412362c5
Merge pull request #2328 from adafruit/tannewt-patch-1
Remove DotStar from pIRkey M0 for now to free up space
2019-11-26 14:47:58 -05:00
Thea Flowers
e77046d49b
Set USB_INTERFACE_NAME for winterbloom_sol 2019-11-26 10:59:12 -08:00
Thomas Sarlandie
2647ea0754 fix: disable touchio to save some space 2019-11-26 19:26:18 +01:00
Scott Shawcroft
8d7c58f82e
Merge pull request #2327 from jepler/issue2326
Make time.time_tuple constructor more CPython3 compatible
2019-11-26 09:38:26 -08:00
Scott Shawcroft
58ad38a88e
Remove DotStar from pIRkey M0 for now to free up space
Once we use PixelBuf, the library will be much smaller.
2019-11-26 09:31:44 -08:00
82f55dc046 atmel-samd: reduce inlining on constrained boards again
pewpew10, pirkey_m0, and uchip all fit now.  However, pirkey_m0
now has just 76 bytes flash available.
2019-11-26 08:50:55 -06:00
3ed6de7baf atmel-samd: reduce inlining on pyruler again
By tweaking the optimizer flags further, this build also fits
2019-11-26 08:50:55 -06:00
2e4a6b94e7 atmel-samd: get most constrained m0 builds to work again
By tweaking the optimizer flags, we can get back a few hundred bytes
and allow these builds to work with the gcc9 compiler.
2019-11-26 08:50:45 -06:00
e188ae8b23 time: struct_time: allow construction like a namedtuple, too
Whenever there is more than one argument, delegate the operation to
namedtuple_make_new.  This allows other circuitpython-compatible
idioms, like with keywords
    time.struct_time(tm_year=2000, tm_mon=1, tm_mday=1, tm_hour=0,
        tm_min=0, tm_sec=14, tm_wday=5, tm_yday=5, tm_isdst=-1)
with 9 positional arguments, etc.

The only vaguely plausible CPython behavior still not permitted in
CircuitPython that I found is constructing a timetuple from a length-9
list, a la
    time.struct_time(list(time.localtime())

Even better, by getting rid of an error message, the build shrinks a
tiny bit.
2019-11-26 08:45:44 -06:00
8f24ea48fb time: struct_time: allow construction from another struct_time
This doesn't cover ALL the cases that CPython permits for construction
of a struct_time, but it at least makes constructing from any namedtuple
work.

Closes: #2326
2019-11-26 08:45:40 -06:00
Roy Hooper
0ef9344c17 make pixelbuf iterable 2019-11-25 20:21:00 -05:00
Roy Hooper
d4ed258b74 remove unnecessary qstrs 2019-11-25 20:20:51 -05:00
Scott Shawcroft
e5dd78d393
Merge pull request #2324 from jepler/nrf-i2s-channels-widths
nrf: assign channel width and count correctly
2019-11-25 16:59:08 -08:00
Scott Shawcroft
2653455ded
Merge pull request #2321 from jepler/nrf-i2s-buglets
Nrf i2s buglets
2019-11-25 16:11:43 -08:00
Thomas Sarlandie
11dc572bce feature: our own PID - thanks @ladyada 2019-11-25 21:56:42 +01:00
Ayan Pahwa
718a28c886 update filesystem.c 2019-11-26 01:13:46 +05:30
Ayan Pahwa
5e1740d11f Not creating code.py file for non-express boards 2019-11-26 00:06:03 +05:30
1ee35fd6fd nrf: i2sout: move register settings closer together
.. just for consistency's sake
2019-11-25 11:43:51 -06:00
47a6eaa297 nrf: i2sout: Assign SWIDTH
The sample width register was never set, so all samples were played
as though they were 16 bit.

After this change, 8-bit samples no longer produce audio on the MAX 98357A
BOB, because only 16-, 24-, and 32-bit samples are supported by the
hardware.  This will be addressed by a future change to pad samples to
16 bits; see #2323 and the 98357A datasheet page 6.
2019-11-25 11:43:29 -06:00
Ayan Pahwa
9c6466cffb Fix build failure for boards with less memory 2019-11-25 22:31:01 +05:30
8f4bab2d24 i2sout: Correctly retrieve channel_count
The meaning of the "single channel" parameter is not well-documented,
but in fact it seems that "true" must be passed or else the returned
channel_count is always 1.  This caused stereo samples to be played
incorrectly.
2019-11-25 10:59:59 -06:00
Thomas Sarlandie
3091952c90 ci: add shirtty to build matrix per instructions 2019-11-25 17:58:00 +01:00
Thomas Sarlandie
fc71ed9789 add shirtty board - hackaday supercon 2019 addon 2019-11-25 17:44:41 +01:00
Dan Halbert
d154d11911
Merge pull request #2320 from jepler/nrf-unsigned-audio-crash
nrf: i2sout: Fix double-increment when copying samples
2019-11-25 11:42:16 -05:00
5115fdaa6f shared-bindings: I2SOut: Ensure object is deinitialised
(or deinitialized, for those of us on this side of the pond)

Otherwise, a sequence like
```
audio = audiobusio.I2SOut(bit_clock=board.D6, word_select=board.D9, data=board.D10)
sine_wave_sample = audiocore.RawSample(sine_wave)
audio.play(sine_wave_sample, loop=True)
del audio
```
could free the memory associated with audio without stopping the
related background task.  Later, when fresh objects are allocated within
a now-freed memory region, they can get overwritten in the background
task, leading to a hard crash.

This presumably can affect multiple I2S implementations, but it was
reported against the nRF one.
2019-11-25 09:53:55 -06:00
c9946dfd63 nrf: i2sout: Use <, not !=, for loop condition
This is good C style, h/t @danh
2019-11-25 09:35:57 -06:00
19d122e546 nrf: i2sout: Fix double-increment when copying samples
This caused two problems when playing unsigned samples:
 * When an even number of samples were present, it "worked" but only
   every other sample was copied into the output, changing the waveform
 * When an odd number of samples were present, the copy continued beyond
   the end of the buffers and caused a hard fault
2019-11-25 09:07:20 -06:00
Scott Shawcroft
6e3b363f50
Merge pull request #2317 from babygrimes/frozen-mpy-bytes-gc_long_lived-crash
Only make objects long lived if they are on the GC heap
2019-11-24 23:12:56 -08:00
Scott Shawcroft
f047f3ce93
Merge pull request #2316 from dhalbert/m4-network-ps2io
Enable network and ps2io for all SAMD51 boards by default.
2019-11-24 23:11:11 -08:00
Roy Hooper
7422f430b2 update translations 2019-11-23 13:59:44 -05:00
Roy Hooper
a9baa441c9 disable -Wunused-parameter on subscr functions 2019-11-23 13:52:14 -05:00
Roy Hooper
75e1e7da4b Try to fix frozen to fix CI 2019-11-23 13:40:03 -05:00
Roy Hooper
03b892379a Try to fix frozen to fix CI 2019-11-23 13:38:51 -05:00
Roy Hooper
6108fa3766 Merge branch 'master' into new-pixelbuf-api 2019-11-23 12:22:04 -05:00
Roy Hooper
27979f51ac use base for errors 2019-11-23 12:15:12 -05:00
Roy Hooper
c770ccd939 make ->subscr take an instance to pass when instance_subscr is called from subscr. 2019-11-23 12:09:26 -05:00
Ayan Pahwa
180b485f8b Enable creation of code.py only for full builds 2019-11-23 20:58:33 +05:30
Ayan Pahwa
262cfd4ea3 Passing address of char_written at f_write 2019-11-23 20:47:30 +05:30
Ayan Pahwa
5823f5ed04 Add \n to file end 2019-11-23 20:43:24 +05:30
Dan Halbert
1ccb7b4c5e cosmetic commit, mostly to re-run 2019-11-22 16:30:10 -05:00
Dan Halbert
13375d16f1 change mpconfigport.mk files so they can be overriden by mpconfigboard.mk 2019-11-22 15:44:51 -05:00
bfdfe0e681 stm32: fix uses of ticks_ms global 2019-11-22 14:30:08 -06:00
77b78d7fb9 Merge remote-tracking branch 'origin/master' into tick-refactor 2019-11-22 14:28:51 -06:00
eb44b2bb26 build.yml: Use a newer build toolchain
.. the new version is not offered in .deb form, so the installation
process also changes
2019-11-22 14:17:11 -06:00
1c6c9a3e1f nrf: i2sout: Ensure hardware I2S is stopped at deinit
.. otherwise, it may be possible under some scenario, for the background
task to continue and overwrite unrelated memory.
2019-11-22 14:15:07 -06:00
Dan Halbert
e18d3e0f76 Merge branch 'master' into m4-network-ps2io 2019-11-22 15:02:52 -05:00
aabb56c840 nrf: i2sout: Only update hold_value when appropriate
If we put no samples into the buffer, then there is no last
sample to fill out hold_value with.  (and, in fact, the expression such
as *(uint32_t*)(buffer-4) is outside an allocated region)

Detect this condition, and leave the prior value in place.

This improves clicks heard when pausing and resuming a waveform.
2019-11-22 13:54:37 -06:00
Dan Halbert
1a62a9cb17 remove network from kicksat_sprite 2019-11-22 14:02:44 -05:00
Dan Halbert
2e9aa38700 turn off network in pewpew_m4 2019-11-22 13:49:33 -05:00
David Grimes
f13ba7e8d9 * only make objects long lived if they are on the GC heap 2019-11-22 13:47:13 -05:00
Dan Halbert
1d411d2874 Merge remote-tracking branch 'adafruit/master' into testing-fixes 2019-11-22 11:55:34 -05:00
Hierophect
352bd95f5a remove blackpill 2019-11-22 11:19:39 -05:00
Dan Halbert
228a619af5 enable network, wiznet5k, and ps2io by default on M4 2019-11-22 10:59:27 -05:00
Hierophect
0d8eb3cfb4 add correct VID/PID pairs 2019-11-22 10:54:35 -05:00
Dan Halbert
c000567d88
Merge pull request #2313 from tannewt/fix_pairing
Re-add pairing support
2019-11-21 21:21:51 -05:00
Hierophect
6a7c8d6341 minor fix 2019-11-21 20:56:05 -05:00
Scott Shawcroft
46cc9b934b
Update translations 2019-11-21 16:50:34 -08:00
Scott Shawcroft
743bc829ab
Clean up debug changes 2019-11-21 16:39:57 -08:00
Scott Shawcroft
e63796c7bc
Special exception message for when pairing prompt is ignored. 2019-11-21 16:32:42 -08:00
Scott Shawcroft
39f4046f70
Fix pairing when peripheral. Central untested. 2019-11-21 16:32:42 -08:00
Hierophect
5b907aa076 change order 2019-11-21 18:24:10 -05:00
Hierophect
b3ad823b4c yaml additions 2019-11-21 17:39:14 -05:00
Hierophect
b5ff9684bb remove misplaced status LED definitions 2019-11-21 17:09:28 -05:00
Hierophect
4e4ecafd97 Add definitions for PYB Nano and blackpill 2019-11-21 16:53:06 -05:00
Dan Halbert
2adecda5eb
Merge pull request #2311 from tannewt/redo_bleio_errors
Use BluetoothError in _bleio
2019-11-21 16:44:26 -05:00
Dan Halbert
e06dc72359
Merge pull request #2307 from hierophect/stm32-spi-cleanup
STM32: SPI clock rate fix and cleanup
2019-11-21 16:12:06 -05:00
Scott Shawcroft
98e55eb577
Only add module when printing exception. 2019-11-21 12:26:25 -08:00
Hierophect
a96317d566 requested style changes 2019-11-21 14:30:07 -05:00
Hierophect
13d786b2ef added pin defs 2019-11-21 14:27:59 -05:00
Scott Shawcroft
521c7531bc
Improve printing to include _bleio. prefix for type. 2019-11-21 11:04:17 -08:00
Scott Shawcroft
5e857fdb67
Use BluetoothError in _bleio
This better differentiates errors than using OSError everywhere.
2019-11-20 14:02:15 -08:00
Scott Shawcroft
372f22c0b3
Merge pull request #1858 from rafa-gould/korean_trans
Created Korean Translations
2019-11-20 13:22:26 -08:00
Hierophect
006182f4e8 Remove meowbit for now 2019-11-20 15:56:00 -05:00
Hierophect
d8d95d9998 Minor meowbit changes 2019-11-20 15:55:13 -05:00
46c5775ba4 supervisor: tick: add supervisor_fake_tick 2019-11-20 14:37:13 -06:00
a9baa0f954 supervisor: tick: document 2019-11-20 14:37:13 -06:00
70719597ab supervisor: tick: Rewrite without atomics 2019-11-20 14:37:13 -06:00
Hierophect
cf4a3237e7 Merge remote-tracking branch 'upstream/master' into stm32-meowbit-etc 2019-11-20 15:31:55 -05:00
Hierophect
9764006f81 add F401 pin definition 2019-11-20 15:30:31 -05:00
Hierophect
3d1b6d9fc8 fix typo 2019-11-20 12:07:12 -05:00
Hierophect
bd9893ab98 clean up SPI module readability 2019-11-20 12:00:45 -05:00
Hierophect
0b558e8714 fix error in SPI busclock selection 2019-11-20 11:34:49 -05:00
eae201a6dd
Merge pull request #2305 from cbyr2401/master
removed Robo HAT MM1 M0 board.
2019-11-20 10:02:53 -06:00
cbyr2401
eb39fcc947
Merge pull request #1 from wallarug/patch-1
Removed robohatmm1_m0 from build.
2019-11-21 01:13:58 +11:00
wallarug
8d72233afd
Removed robohatmm1_m0 from build. 2019-11-21 01:12:48 +11:00
wallarug
fce7b89087 removed Robo HAT MM1 M0 board. 2019-11-20 21:34:24 +11:00
Melissa LeBlanc-Williams
41fb6e7824
Merge pull request #2303 from makermelissa/master
Removing submodule that was accidentally stowed away in PR 2302
2019-11-19 17:06:17 -08:00
Melissa LeBlanc-Williams
d763559120 Removing submodule that was accidentally stowed away in PR 2302 2019-11-19 16:17:30 -08:00
Melissa LeBlanc-Williams
fde9dd539d
Merge pull request #2302 from makermelissa/master
Added Edgebadge alias build for Pybadge
2019-11-19 15:37:57 -08:00
Melissa LeBlanc-Williams
fe6ec9a7d4 Added Edgebadge alias for Pybadge 2019-11-19 14:53:58 -08:00
Scott Shawcroft
11c2c3443f
Add support for extended (>31 byte) BLE advertisements. 2019-11-19 13:55:58 -08:00
ndgarage
b3d7467719 add-ndbit6 2019-11-19 14:52:09 -07:00
Dan Halbert
1a22d8a0f2
Merge pull request #2291 from hierophect/stm32-neopixel
STM32: Neopixel support
2019-11-18 23:45:09 -05:00
Dan Halbert
41aa214589
Merge pull request #2300 from hierophect/stm32-urandom
STM32: implement OS urandom
2019-11-18 22:32:14 -05:00
Hierophect
4a25c2344e implement os urandom 2019-11-18 18:27:25 -05:00
Hierophect
256abf5505 Add board folders 2019-11-18 16:13:27 -05:00
Ayan Pahwa
a0ef667a14 Supervisor: create code.py file with sample code 2019-11-19 01:59:29 +05:30
Hierophect
a4797327cd add microcontroller toggles for status LED 2019-11-18 13:51:59 -05:00
Dan Halbert
2da1b68956
Merge pull request #2296 from jepler/github-actions-forks
workflows: Don't try to upload when running in someone's fork
2019-11-18 13:49:24 -05:00
568636d562 run_background_tasks: Do nothing unless there has been a tick
This improves performance of running python code by 34%, based
on the "pystone" benchmark on metro m4 express at 5000 passes
(1127.65 -> 1521.6 passes/second).

In addition, by instrumenting the tick function and monitoring on an
oscilloscope, the time actually spent in run_background_tasks() on
the metro m4 decreases from average 43% to 0.5%. (however, there's
some additional overhead that is moved around and not accounted for
in that "0.5%" figure, each time supervisor_run_background_tasks_if_tick
is called but no tick has occurred)

On the CPB, it increases pystone from 633 to 769, a smaller percentage
increase of 21%.  I did not measure the time actually spent in
run_background_tasks() on CPB.

Testing performed: on metro m4 and cpb, run pystone adapted from python3.4
(change time.time to time.monotonic for sub-second resolution)

Besides running a 5000 pass test, I also ran a 50-pass test while
scoping how long an output pin was set.  Average: 34.59ms or 1445/s on m4,
67.61ms or 739/s on cbp, both matching the other pystone result reasonably
well.

import pystone
import board
import digitalio
import time

d = digitalio.DigitalInOut(board.D13)
d.direction = digitalio.Direction.OUTPUT

while True:
    d.value = 0
    time.sleep(.01)
    d.value = 1
    pystone.main(50)
2019-11-18 11:26:48 -06:00
40a47d41df samd: background: Allow monitoring time taken in background task
If you define MONITOR_BACKGROUND_TASK, then a physical output pin
(Metro M4 Express's "SCL" pin by default) will be set HIGH while in
the background task and LOW at other times
2019-11-18 11:01:24 -06:00
7f744a2369 Supervisor: move most of systick to the supervisor
This code is shared by most parts, except where not all the #ifdefs
inside the tick function were present in all ports.  This mostly would
have broken gamepad tick support on non-samd ports.

The "ms32" and "ms64" variants of the tick functions are introduced
because there is no 64-bit atomic read.  Disabling interrupts avoids
a low probability bug where milliseconds could be off by ~49.5 days
once every ~49.5 days (2^32 ms).

Avoiding disabling interrupts when only the low 32 bits are needed is a minor
optimization.

Testing performed: on metro m4 express, USB still works and
time.monotonic_ns() still counts up
2019-11-18 11:01:23 -06:00
45d1b290ee circuitpy_mpconfig.h: Express HOOKS in terms of RUN_BACKGROUND_TASKS
.. this means that when we want to modify RUN_BACKGROUND_TASKS, only one
change is needed instead of 3
2019-11-18 11:00:24 -06:00
acde22a436 circuitpy_mpconfig.h: Move includes after include-guard
To benefit from gcc's "once-only headers" implementation, the
"wrapper-#ifndef" must be the first non-comment part of the file,
according to the manual for various gcc/cpp versions.
2019-11-18 11:00:24 -06:00
Dan Halbert
9000c88965
Merge pull request #2295 from jepler/make-translate-xargs
Makefile: Fix a problem where `xargs` invoked `xgettext` 2x
2019-11-18 11:04:02 -05:00
37fd08e637 workflows: Don't try to upload when running in someone's fork
.. which we can tell by whether the environment variable is non-empty
2019-11-17 21:21:30 -06:00
8e9ac59396 Makefile: Fix a problem where xargs invoked xgettext 2x
On a Debian 10 system, the number of arguments to xargs was such that
it would not fit in a single invocation (xargs --show-limits prints
"bytes: Size of command buffer we are actually using: 131072").

In this situation, the output from the second invocation of xgettext
would replace the output of the first one, so messages that appeared only
in files early in the list would be lost.  Strings in "extmod" were most
frequently the victim, including "incorrect padding" from modubinascii.c.

Unfortunately, when the github environment was similar enough to the
environment where "make translate" was invoked, the problem was not
found by "check-translate", because the same (incorrect, truncated)
potfile would be generated on both systems.  Apparently Ubuntu and Debian
were different enough that the problem could become visible.

xgettext has a mode where it reads files from stdin ('-f-'), but this does
not have a zero-delimited variant documented.  Still, we will assume
that files with adversarial names are not committed to circuitpython
or created by the build process, and print newline-delimited filenames
from `find` to be processed by `xgettext -f-`.
2019-11-17 21:00:07 -06:00
900e365f93 locale: Re-run "make translate" subsequent to the xargs/xgettext fix
I manually inspected the changes relative to 5.0.0-alpha.5-93-g8778f367e
and believe they are innocuous; Besides restoring some translations
that had become fuzzy, "c-format" was removed from many (all?) fuzzy
messages, and the word-wrapping of one message was changed.
2019-11-17 20:59:14 -06:00
6700a58a17 Makefile: Fix a problem where xargs invoked xgettext 2x
On a Debian 10 system, the number of arguments to xargs was such that
it would not fit in a single invocation (xargs --show-limits prints
"bytes: Size of command buffer we are actually using: 131072").

In this situation, the output from the second invocation of xgettext
would replace the output of the first one, so messages that appeared only
in files early in the list would be lost.  Strings in "extmod" were most
frequently the victim, including "incorrect padding" from modubinascii.c.

Unfortunately, when the github environment was similar enough to the
environment where "make translate" was invoked, the problem was not
found by "check-translate", because the same (incorrect, truncated)
potfile would be generated on both systems.  Apparently Ubuntu and Debian
were different enough that the problem could become visible.

xgettext has a mode where it reads files from stdin ('-f-'), but this does
not have a zero-delimited variant documented.  Still, we will assume
that files with adversarial names are not committed to circuitpython
or created by the build process, and print newline-delimited filenames
from `find` to be processed by `xgettext -f-`.
2019-11-17 20:54:21 -06:00
c449748663 locale: commit results of running "make translate" 2019-11-17 20:21:18 -06:00
25273f9e87 Merge remote-tracking branch 'origin/master' into korean_trans 2019-11-17 20:10:50 -06:00
Limor "Ladyada" Fried
8778f367e8
Merge pull request #2293 from CedarGroveStudios/patch-1
Add a USB interface description for StringCar M0 Express
2019-11-16 22:21:07 -05:00
Cedar Grove Maker Studios
e7df288a34
add USB interface description
... to "StringCarM0Ex"
2019-11-16 16:40:40 -08:00
Roy Hooper
fa57de0688 use instance for verbose errors 2019-11-16 14:04:12 -05:00
Hierophect
51078cc38f timing tweaks with testing 2019-11-15 17:17:05 -05:00
Dan Halbert
5d9ac8b1d9
Merge pull request #2290 from hierophect/pin-commonhal-additions
Add pin reset and never reset to common-hal
2019-11-15 16:49:07 -05:00
Hierophect
98fd372d5b Add missing define 2019-11-15 13:19:37 -05:00
Hierophect
ee1559b921 Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 13:09:59 -05:00
Hierophect
81223c76bd revert error 2019-11-15 13:04:25 -05:00
Hierophect
5f290d091e Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 13:00:11 -05:00
Hierophect
2c6781f74d move neopixel_in_use flag to shared-bindings 2019-11-15 12:59:52 -05:00
Hierophect
8a58af3e96 Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 12:50:02 -05:00
Hierophect
8ff1bc0132 add missing include 2019-11-15 12:49:47 -05:00
Hierophect
e1579a1cc5 Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 12:47:23 -05:00
Hierophect
de5691acf5 Add never_reset and reset to pin common hal, adjust files 2019-11-15 12:47:00 -05:00
Hierophect
6cce2d6d14 Implement Neopixel write, add defaults to f405 2019-11-15 12:28:16 -05:00
Dan Halbert
f3038e53d1
Merge pull request #2286 from hierophect/stm32-speedy-405
STM32: Raise clock speed of F405
2019-11-15 11:25:29 -05:00
KalbeAbbas
8134ceec83
Update pins.c 2019-11-14 23:16:55 +05:00
KalbeAbbas
799770926b
Update pins.c 2019-11-14 18:51:01 +05:00
KalbeAbbas
949f87fd25
Update pins.c 2019-11-14 18:50:26 +05:00
KalbeAbbas
3db7f2798f updated 2019-11-14 16:34:08 +05:00
Scott Shawcroft
4c55431bb3
Merge pull request #2287 from dhalbert/testing-fixes
Fix start_scan timeout default value
2019-11-13 22:09:58 -08:00
Dan Halbert
8584c1e824 Fix start_scan timeout default value 2019-11-13 21:34:20 -05:00
66148ee7f0
Merge pull request #2283 from theacodes/allow-changing-usb-interface-names
Allow boards to change the "CircuitPython" text in their USB interface description.
2019-11-13 14:58:58 -06:00
Hierophect
6e96b1945e Raise clock speed, adjust divisors 2019-11-13 13:18:43 -05:00
KalbeAbbas
9ce2087a75 change 2019-11-13 17:18:00 +05:00
KalbeAbbas
99952c0df0 Removed SD card folder 2019-11-13 16:07:52 +05:00
KalbeAbbas
040f201fab added SD card module 2019-11-13 15:44:59 +05:00
KalbeAbbas
f6577fc9f7 SD card folder removed 2019-11-13 15:11:03 +05:00
KalbeAbbas
5493dd5dba Added SD card submodule 2019-11-13 15:06:53 +05:00
KalbeAbbas
b269fb4bfa deleted SD card folder 2019-11-13 14:58:57 +05:00
Dan Halbert
166518fc9b
Merge pull request #2272 from hierophect/stm32-microcontroller-fillout
STM32: add us delay
2019-11-12 18:03:55 -05:00
Thea Flowers
67ff1c92f0
Allow boards to change the "CircuitPython" text in their USB interface description.
In cases where more than one board is connected to a single computer it can become pretty hard to figure out which board you're actually talking to. For example, if you have several MIDI-compatible boards they all show up as "CircuitPython MIDI". This change allows boards to replace the "CircuitPython" part of their USB descriptors with more specific text, for example, "CircuitPython Feather" or just "Feather". This will let folks more easily tell boards apart.

The new option is named `USB_INTERFACE_NAME` and is available in `mkconfigboard.mk`. For example:

```
USB_INTERFACE_NAME = "Feather"
```
2019-11-12 13:29:35 -08:00
Dan Halbert
356aa2ea28
Merge pull request #2211 from hierophect/stm32-uart
STM32: UART support
2019-11-12 15:20:34 -05:00
Hierophect
e40bd07fcf fix conflicting definitions on discovery boards 2019-11-12 13:03:13 -05:00
Hierophect
bbc366b85b Style overhaul, extra error checks 2019-11-12 11:26:14 -05:00
KalbeAbbas
6161c72270 SD card folder added 2019-11-12 20:09:57 +05:00
Hierophect
ed3e377390 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-11-12 09:49:17 -05:00
KalbeAbbas
3c6c798018
Update build.yml 2019-11-12 18:53:13 +05:00
KalbeAbbas
91123ab688
Update build.yml 2019-11-12 18:34:29 +05:00
☒ Bjarke Gotfredsen
d745c1023e
Support for XinaBox CC03 and CS11
CC03 is a ATSAMD21G18 Cortex-M0+ breakout in xChips format. CS11 is the same, but with a SD Card Interface. 
https://xinabox.cc/products/cc03
https://xinabox.cc/products/cs11
2019-11-12 12:48:31 +02:00
Hierophect
14b70806a5 de-init check 2019-11-11 15:47:47 -05:00
Hierophect
e076f14ea3 text fixes 2019-11-11 15:32:47 -05:00
Hierophect
c38086fc4a fix typo 2019-11-11 15:04:22 -05:00
Hierophect
3f8b4727f5 Revise us delay to include interrupt/non-interrupt versions 2019-11-11 14:58:45 -05:00
Melissa LeBlanc-Williams
93cdf51b7f
Merge pull request #2277 from makermelissa/master
Fixed I2CDisplay reset issue
2019-11-08 12:57:48 -08:00
Melissa LeBlanc-Williams
39b38256fd Fixed I2CDisplay reset issue 2019-11-08 12:35:35 -08:00
Dan Halbert
91156670e9
Merge pull request #2271 from theacodes/enable-micropython-native
Allow boards to enable the `micropython.native` decorator
2019-11-08 13:42:17 -05:00
hierophect
147a1bb860
Merge pull request #2268 from hierophect/stm32-dac-deinit
STM32: DAC auto shutoff
2019-11-07 09:38:19 -05:00
Hierophect
d42c4b082d revert sublime being a dumb 2019-11-06 14:55:16 -05:00
Hierophect
39dbcb529a revert git being a dumb 2019-11-06 14:54:07 -05:00
Hierophect
adfef8b520 Merge remote-tracking branch 'upstream/master' into stm32-dac-deinit 2019-11-06 14:46:56 -05:00
Dan Halbert
b8373aca0c
Merge pull request #2266 from hierophect/stm32-defaults
STM32: Add board defaults
2019-11-06 14:29:29 -05:00
Thea Flowers
3439c36197
Fix bad call to mp_arg_check_num 2019-11-05 17:49:47 -08:00
Thea Flowers
c7195c4bc5
Allow boards to enable the micropython.native decorator
Adds the `CIRCUITPY_ENABLE_MPY_NATIVE` for `mpconfigboard.mk` that enables
the `micropython.native` decorator.
2019-11-05 14:27:53 -08:00
Hierophect
e66fcb5e1f add missing newline 2019-11-05 16:32:34 -05:00
Hierophect
8a098c154d Fix unsaved file 2019-11-05 16:25:30 -05:00
Hierophect
1a7060af25 Add us delay 2019-11-05 16:23:59 -05:00
Hierophect
1006c5600c Merge remote-tracking branch 'upstream/master' 2019-11-05 12:25:10 -05:00
Joe Bakalor
ba83a4a2ac
Merge pull request #1 from adafruit/master
Update base
2019-11-05 11:06:18 -05:00
Hierophect
0b85c4bb20 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-11-05 10:56:57 -05:00
JoeBakalor
8ab3ef44dd add bluebird template files 2019-11-05 10:52:25 -05:00
Hierophect
dfe73a063d Fix error that would carry past python exception 2019-11-05 10:50:57 -05:00
Dan Halbert
01bf932169
Merge pull request #2269 from theacodes/add-winterbloom-sol
Add board configuration for Winterbloom Sol
2019-11-05 10:34:57 -05:00
Thea Flowers
73989dbcaf Add board configuration for Winterbloom Sol 2019-11-04 23:11:42 -08:00
Dan Halbert
8cd2f87e99
Merge pull request #2236 from tannewt/bleio_tweaks
Refine _bleio
2019-11-04 22:27:54 -05:00
Dan Halbert
c87d6cc6a5
Merge pull request #2248 from hierophect/stm32-PWM
STM32: PWMOut
2019-11-04 22:08:01 -05:00
Dan Halbert
f185b30d71
Update PWMOut.h 2019-11-04 20:41:54 -05:00
Hierophect
38e38b9f8d remove redundant comment 2019-11-04 17:20:10 -05:00
Hierophect
632b3267dc Add auto-shutoff of DAC when channels de-inited 2019-11-04 17:08:00 -05:00
Hierophect
b9063dd226 Merge remote-tracking branch 'upstream/master' 2019-11-04 16:45:52 -05:00
Hierophect
9d4c95deeb Revert "Add default defines"
This reverts commit 15d8d88950.
2019-11-04 16:45:19 -05:00
Hierophect
40f920fbdf complete attribution edits 2019-11-04 14:39:41 -05:00
Hierophect
ca1eb4def1 Add other board globals 2019-11-04 14:35:23 -05:00
Hierophect
2111a7c4cf Merge branch 'master' into stm32-defaults 2019-11-04 14:32:00 -05:00
Hierophect
3526fed611 add board global 2019-11-04 14:31:57 -05:00
Hierophect
15d8d88950 Add default defines 2019-11-04 14:15:26 -05:00
Hierophect
ccff7e70ca Style changes and refactors 2019-11-04 11:30:49 -05:00
Dan Halbert
e3638ffaad
Merge pull request #2262 from jepler/cpb-speaker-disable
cpb: Disable the onboard speaker until request
2019-11-03 18:34:29 -05:00
Hierophect
1c4f49bb83 attribution changes 2019-11-03 16:33:01 -05:00
Scott Shawcroft
cd3fcc87ab
Merge pull request #2252 from dhalbert/cpb-two-i2c
nrf: allocate two I2C on CPB
2019-11-03 13:15:36 -08:00
Dan Halbert
85a648224f Check for no pullups on I2C on nrf; give arduino nano 33 ble two I2C devices 2019-11-02 22:47:03 -04:00
2bdccf03a7 cpb: define the SPEAKER_ENABLE_PIN
This allows the board to disable the onboard speaker until explicitly
enabled in user code.

Testing performed on a CPB:
 * Touching the AUDIO pin with a fingertip no longer generates noise/buzz
 * Generating a waveform with `simpleio.tone` produces no sound by default
 * When the board.SPEAKER_ENABLE is configured as a digital output and
   set True, `simpleio.tone` does produce sound

Note that while guides should include information about SPEAKER_ENABLE, it's
possible that some users who omitted it could view this as a breaking change.
They can fix it by simply adding code similar to

    speaker_enable = digitalio.DigitalInOut(board.SPEAKER_ENABLE)
    speaker_enable.direction = digitalio.Direction.OUTPUT
    speaker_enable.value = True

before using the internal speaker.

Closes: #2258
2019-11-01 16:26:03 -05:00
fe47eba97f nRF: Handle SPEAKER_ENABLE_PIN
.. the existing code, which was never activated by the preprocessor,
wasn't quite right.
2019-11-01 16:23:35 -05:00
Hierophect
8d0cc71aee Add write protections, fix edge case read halt 2019-11-01 17:00:01 -04:00
Scott Shawcroft
c36931384f
Merge pull request #2260 from dhalbert/dotstar-brightness
Reduce DotStar status brightness; macros for status colors
2019-11-01 13:43:15 -07:00
Scott Shawcroft
c1f56501de
Merge pull request #2257 from Retoc/master
added german translation
2019-11-01 13:23:18 -07:00
Scott Shawcroft
47e50e5659
Merge remote-tracking branch 'adafruit/master' into bleio_tweaks 2019-11-01 13:20:58 -07:00
Hierophect
e605ce6317 Debugging additions 2019-11-01 14:30:28 -04:00
Dan Halbert
99fe905039 Reduce DotStar status brightness; macros for status colors 2019-11-01 13:37:36 -04:00
retoc
e4803a7973 added german translation 2019-11-01 00:09:43 +01:00
Hierophect
0a1a12b867 Revise PWM period generation algorithm to match other ports 2019-10-31 16:59:44 -04:00
Brent Rubell
08d1019f2b
Merge pull request #2256 from brentru/master
Switch PyPortal Titano to 8-bit Mode
2019-10-31 15:22:47 -04:00
brentru
2f04c5891f flip it around 2019-10-31 14:11:50 -04:00
brentru
ab3da3071c flip MADCTL BGR bit to reflect RGB colors 2019-10-31 10:11:47 -04:00
Hierophect
c78d79938d remove debug output 2019-10-30 17:07:16 -04:00
Hierophect
a8070a4185 Revise IRQ managment, add restart on failure 2019-10-30 16:59:53 -04:00
Hierophect
bb8046dbb3 remove debug messages 2019-10-30 10:00:50 -04:00
ladyada
d2b613134d we should use native rotation, and tweak madctl (not done yet) 2019-10-29 22:53:44 -04:00
ladyada
1e869d1334 switch to 8-bit mode - tested on hardware! 2019-10-29 21:14:45 -04:00
Hierophect
6b0cb87cbf Dynamic prescaler adjustment, adjust pulse resolution 2019-10-29 17:17:26 -04:00
Hierophect
4de5a33a43 Style changes 2019-10-29 10:24:26 -04:00
Dan Halbert
43b8d5e8ab Update I2C and SPI documentation 2019-10-29 09:58:44 -04:00
Hierophect
33deb6752b Add harder resets to UART 2019-10-29 09:41:52 -04:00
Dan Halbert
e35eb08f1d nrf: allocate two I2C on CPB 2019-10-28 21:08:53 -04:00
Dan Halbert
1505da784f wip 2019-10-28 18:15:02 -04:00
Dan Halbert
56ac41fabf
Merge pull request #2240 from theacodes/fix-2086
Track unadjusted PWM duty cycle to avoid accumulating conversion errors
2019-10-28 14:50:01 -04:00
Dan Halbert
cc13fc3433
Merge pull request #2247 from jepler/comment-doc-typos
Comment doc typos
2019-10-28 14:47:52 -04:00
Dan Halbert
0192268f67
Merge pull request #2242 from theacodes/fix-1563
Improve documentation for `rtc`.
2019-10-28 14:46:54 -04:00
Hierophect
ec32731b50 sync tinyusb (again) 2019-10-28 12:21:12 -04:00
Hierophect
3034cfc82f Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-28 12:16:01 -04:00
Hierophect
69bf926211 Merge remote-tracking branch 'upstream/master' into stm32-PWM 2019-10-28 12:01:28 -04:00
Dan Halbert
855de943a7
Merge pull request #2249 from dhalbert/micropy_py_sys_platform
Use MICROPY_PY_SYS_PLATFORM in mpconfigport.h only
2019-10-28 11:59:25 -04:00
Dan Halbert
1d7d9043c1 CXD56 is a better platform name 2019-10-28 10:47:09 -04:00
Dan Halbert
358920db0e Use MICROPY_PY_SYS_PLATFORM in mpconfigport.h only 2019-10-28 10:40:10 -04:00
Hierophect
c0f1ce590e Add support across dev boards 2019-10-27 20:17:10 -04:00
Hierophect
7fd5e9b867 Fix issue with changing frequency 2019-10-27 19:41:01 -04:00
Hierophect
0cd8c3d5a8 Add all basic functions, never reset, dynamic pulse changes 2019-10-27 19:17:01 -04:00
1103490223
Merge pull request #2244 from dhalbert/itsybitsy_nrf52840_express
Initial Itsy nRF52840 defn
2019-10-27 16:46:28 -05:00
c208586bf1 audioio: correct trivial typo 2019-10-27 16:42:18 -05:00
0657884fca audiobus: correct trivial typo 2019-10-27 16:42:04 -05:00
978cec0316 pixelbuf: correct trivial typos 2019-10-27 16:41:56 -05:00
Hierophect
cb491e855c WIP 2019-10-27 14:31:25 -04:00
Limor "Ladyada" Fried
2b02750f11
Merge pull request #2246 from dhalbert/nano-33-ble
Arduino Nano 33 BLE board definition
2019-10-26 18:29:53 -04:00
Dan Halbert
d0044c74b6 bitbangio.SPI was not setting direction of output pins 2019-10-26 16:06:02 -04:00
Dan Halbert
7dadf9b748 forgot board in build.yml 2019-10-26 12:58:45 -04:00
Dan Halbert
76817eaa10 Merge remote-tracking branch 'adafruit/master' into nano-33-ble 2019-10-25 22:41:26 -04:00
Dan Halbert
ab6fd34828 add object types to rgb status objects;mark spi rgb objects as never_reset 2019-10-25 22:32:43 -04:00
Dan Halbert
7d04d9109e use bitbang SPI for DotStar; still need to fix hw SPI for dotstar 2019-10-25 15:37:27 -04:00
Thea Flowers
6782948751
Note behavior in documentation 2019-10-25 10:56:41 -07:00
Thea Flowers
4b742f88d9
Fix spelling 2019-10-25 10:50:27 -07:00
Dan Halbert
cdeb0857a9 Initial Itsy nRF52840 defn 2019-10-25 11:15:34 -04:00
Hierophect
cf7efee0d3 Add f405 pindefs 2019-10-24 18:00:50 -04:00
Hierophect
7f769580bd Merge remote-tracking branch 'upstream/master' into stm32-PWM 2019-10-24 14:11:51 -04:00
hierophect
3683ee3ffa
Merge pull request #2243 from hierophect/f405-rename-and-fixes
STM32: rename feather_stm32f405_express, fix makefile defs issue
2019-10-24 14:11:17 -04:00
Hierophect
511071e1ba Rename feather across folders and config, fix makefile def issue 2019-10-24 12:51:40 -04:00
Hierophect
64337775f8 PWM Base functionality testing for F405 2019-10-24 12:43:34 -04:00
Thea Flowers
4a55c48dbf
Improve documentation for rtc.
- Add examples for `rtc.RTC.datetime`.
- Add type for `rtc.RTC.calibration`.
- Expand on use cases for `rtc.set_time_source`.
2019-10-23 15:48:34 -07:00
Limor "Ladyada" Fried
51c7bb7118
Merge pull request #2241 from sparkfun/master
Adds builds for sparkfun_qwiic_micro with and without flash
2019-10-23 18:01:09 -04:00
ProductDev
673d2fb4b7 Fixes alphabetical list in board.yml nrf above qwiic_micro 2019-10-23 15:42:44 -06:00
Thea Flowers
4fdf518251
Track unadjusted PWM duty cycle to avoid accumulating conversion errors
Fixes #2086

When the frequency of a `PWMOut` is change it re-sets the PWM's duty cycle as
well, since the registers have to be re-calculated based on the new frequency.
Unfortunately, `common_hal_pulseio_pwmout_get_duty_cycle`
will return a value very close to, but not exactly, the value passed to `common_hal_pulseio_pwmout_set_duty_cycle`. If the frequency is modified
without the calling code also re-setting the duty cycle then the duty cycle
will decay over time. This fixes that problem by tracking the unadjusted duty
cycle and re-setting the duty cycle to that value when the frequency is changed.
2019-10-23 14:34:14 -07:00
ProductDev
ece1cd0fdd Adds two new builds to build.yml within workflows directory 2019-10-23 15:22:46 -06:00
ProductDev
4cd5571203 Adds builds for sparkfun_qwiic_micro with and without flash 2019-10-23 15:05:46 -06:00
Dan Halbert
af1fab1915
Merge pull request #2226 from kamtom480/circuitpython-device-open
Do not open the same PWM device if it is already open
2019-10-23 15:08:40 -04:00
Dan Halbert
8f1421ea0b
Merge pull request #2237 from jepler/no-threaded-tests
ci: don't run the "thread" tests
2019-10-23 13:31:57 -04:00
Scott Shawcroft
91c9d519ae
Refine comments and switch prefix_len to size_t 2019-10-22 23:09:56 -07:00
Scott Shawcroft
ece8352126
Fix build by removing unused vars 2019-10-22 17:24:04 -07:00
Dan Halbert
9d7b984f3b
Merge pull request #2239 from hierophect/remove-lib-stm32
Remove leftover lib/stm32lib
2019-10-22 17:14:31 -04:00
Hierophect
dadfa69061 remove old library 2019-10-22 13:13:22 -04:00
Hierophect
1d8a75fa3f minor WIP 2019-10-22 13:11:45 -04:00
Hierophect
ca4b7f81e5 Initial template setup 2019-10-22 11:09:46 -04:00
Scott Shawcroft
aeee15eae8
Update translations 2019-10-21 19:50:17 -07:00
4d53dd29a3 ci: don't run the "thread" tests
This part of the unix micropython port isn't related to any
functionality used in CircuitPython, and at least one of the tests
(thread_gc) fails with non-negligible frequency.

Reasons to revisit this in the future would include if/when thread
support is added in CircuitPython.
2019-10-21 20:58:07 -05:00
Scott Shawcroft
ae30a1e5aa
Refine _bleio
This PR refines the _bleio API. It was originally motivated by
the addition of a new CircuitPython service that enables reading
and modifying files on the device. Moving the BLE lifecycle outside
of the VM motivated a number of changes to remove heap allocations
in some APIs.

It also motivated unifying connection initiation to the Adapter class
rather than the Central and Peripheral classes which have been removed.
Adapter now handles the GAP portion of BLE including advertising, which
has moved but is largely unchanged, and scanning, which has been enhanced
to return an iterator of filtered results.

Once a connection is created (either by us (aka Central) or a remote
device (aka Peripheral)) it is represented by a new Connection class.
This class knows the current connection state and can discover and
instantiate remote Services along with their Characteristics and
Descriptors.

Relates to #586
2019-10-21 18:57:03 -07:00
Hierophect
a596213526 non-functional WIP 2019-10-21 17:06:40 -04:00
Kamil Tomaszewski
e4574fa3bf Clean UART on reset 2019-10-21 13:17:51 +02:00
Scott Shawcroft
84c0d6cdf8
Merge pull request #2234 from Senuros/master
A few more german translations and some fixes
2019-10-20 21:35:09 -07:00
Dan Halbert
7b79ac3739 Parameterize linker script 2019-10-20 23:50:12 -04:00
Senuros
2fd8038d87 more german translations and a few fixes 2019-10-21 03:16:11 +02:00
Roy Hooper
2970680e6a fix show and fix step > 1 2019-10-20 19:54:25 -04:00
Hierophect
af28474b06 IRQ priority and port clearing scratchwork 2019-10-18 14:10:41 -04:00
Scott Shawcroft
98e7579dee
Merge pull request #2230 from kamtom480/circuitpython-stack
Top and limit stack addresses
2019-10-18 10:41:00 -07:00
Kamil Tomaszewski
e2cb29f2a0 Change default stack size to 64kiB for Spresense 2019-10-18 15:43:06 +02:00
Kamil Tomaszewski
3ad13e14d8 Do not open the same UART device again 2019-10-18 12:39:52 +02:00
Kamil Tomaszewski
b39ca3f8be Do not open the same PWM device again 2019-10-18 12:39:22 +02:00
Kamil Tomaszewski
1decd111d5 Do not open the same ADC device again 2019-10-18 12:38:39 +02:00
Kamil Tomaszewski
4338511b28 Add get top and limit functions for Spresense 2019-10-18 11:10:22 +02:00
Kamil Tomaszewski
f3151bb6c4 Use get top and limit stack functions 2019-10-18 11:05:08 +02:00
Kamil Tomaszewski
96756b3945 Add functions to get top and limit stack 2019-10-18 11:04:45 +02:00
Kamil Tomaszewski
30c9ad2b2a Update Spresense SDK to 1.4.1 2019-10-18 10:29:32 +02:00
Scott Shawcroft
bd6c7c5546
Merge pull request #2223 from Senuros/master
Added more german translations and some fixes
2019-10-17 10:15:54 -07:00
Scott Shawcroft
d0d31bcc3b
Merge pull request #2224 from wallarug/wallarug/robohat_naming_fix
Changed to follow standard that Pad 0 is always TX
2019-10-17 10:14:52 -07:00
wallarug
8f2e5990db
Changed to follow standard that Pad 0 is always TX 2019-10-17 18:02:05 +11:00
Senuros
a0d1280853 Added more german translations and some fixes 2019-10-16 21:42:31 +02:00
Hierophect
14c64159c8 Implement requested changes, refactors 2019-10-16 13:50:54 -04:00
Hierophect
323fe418f7 Add support for other F4 MCUs 2019-10-16 13:14:57 -04:00
Hierophect
552900f18e Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-16 12:33:31 -04:00
Hierophect
b4a6246e30 Cleanup 2019-10-16 12:32:34 -04:00
Hierophect
14eefaafee Hack in interrupt support 2019-10-16 11:33:55 -04:00
Dan Halbert
64c1484bd7
Merge pull request #2222 from tannewt/fix_release_checks
Switch to the new release event type filter
2019-10-15 16:41:03 -04:00
Dan Halbert
be8136dc6d Merge remote-tracking branch 'adafruit/master' into bonding1 2019-10-15 15:55:21 -04:00
Scott Shawcroft
63790f01f8
Merge pull request #2218 from CedarGroveStudios/master
Definitions for StringCar M0 Express and AT25SF161-SSHD-T 2MiB SPI flash chip
2019-10-15 09:46:39 -07:00
Scott Shawcroft
6f2e2faff2
Merge pull request #2214 from dhalbert/remove-unused-ports
Remove non-CircuitPython ports
2019-10-15 09:45:53 -07:00
Scott Shawcroft
b80048bf07
Merge pull request #2213 from dhalbert/cpu-voltage
Measure voltage supplied to chip
2019-10-15 09:45:16 -07:00
Dan Halbert
a0d18ac4e6 add dummy common_hal_mcu_processor_get_voltage() for spresense 2019-10-15 09:07:12 -04:00
Dan Halbert
eca73436c9 Merge remote-tracking branch 'adafruit/master' into cpu-voltage 2019-10-15 09:03:24 -04:00
Dan Halbert
9de155a132
Merge pull request #2220 from tannewt/support_dunder_bytes
Support __bytes__
2019-10-15 09:00:14 -04:00
Dan Halbert
fdd7ebef2d change calibration from analogin_reset() to analogin_init() 2019-10-14 23:38:41 -04:00
Scott Shawcroft
6aad70b109
Switch to the new release event type filter
Fixes #2201
2019-10-14 20:16:59 -07:00
Scott Shawcroft
1610d06bb4
Switch arg check back to allow ignored args for strings 2019-10-14 19:59:23 -07:00
Dan Halbert
820ebcbf93 update tinyusb 2019-10-14 22:52:09 -04:00
Scott Shawcroft
1a7c787d3c
Merge branch 'master' into master 2019-10-14 19:47:46 -07:00
Dan Halbert
79cea72e29 Merge remote-tracking branch 'adafruit/master' into remove-unused-ports 2019-10-14 22:45:48 -04:00
Scott Shawcroft
9435e01f9e
Support __bytes
Fixes #1763
2019-10-14 16:05:17 -07:00
arturo182
756e4a41da
Merge pull request #2219 from arturo182/IS25LP128F
Add IS25LP128F flash device definition
2019-10-15 00:26:13 +02:00
Dan Halbert
615ec7f74d merge from upstream 2019-10-14 18:12:58 -04:00
Scott Shawcroft
5971794e54
Merge pull request #2216 from jerryneedell/jerryn_nlr
restructure nlr.h for undefined archtectures
2019-10-14 14:51:51 -07:00
arturo182
e0f60d0c17 Add IS25LP128F flash device definition 2019-10-14 23:42:53 +02:00
Cedar Grove Maker Studios
2b9bb78d3e
add stringcar_m0_express to boards list 2019-10-14 14:30:32 -07:00
Scott Shawcroft
51582abc87
Merge pull request #2207 from kamtom480/circuitpython-spresense
Add Spresense board
2019-10-14 14:19:09 -07:00
Cedar Grove Maker Studios
f1ab9aaa9c
add def for AT25SF161-SSHD-T 2MiB SPI flash chip 2019-10-14 11:58:14 -07:00
Cedar Grove Maker Studios
bd608e0807
remove placeholder 2019-10-14 11:56:53 -07:00
Cedar Grove Maker Studios
b04a218bbc
initial load of stringcar m0 express defs 2019-10-14 11:56:18 -07:00
Cedar Grove Maker Studios
44ebc4c95d
establish stringcar m0 express definitions 2019-10-14 11:55:22 -07:00
Jerry Needell
051670038e restructure nlr.h for udefined archtectures 2019-10-14 07:02:32 -04:00
Kamil Tomaszewski
150f9041e3 Fix unsafe floating point comparison 2019-10-14 09:13:35 +02:00
Kamil Tomaszewski
b750ed3a0f Change Spresense firmware download link 2019-10-14 08:42:10 +02:00
Kamil Tomaszewski
8dfc8b584f Change Spresense reference_voltage to 0.0 (None) 2019-10-14 08:22:14 +02:00
Kamil Tomaszewski
c67b2c1661 Return None if reference_voltage is 0.0 2019-10-14 08:22:14 +02:00
Dan Halbert
995a37f0cc don't exclude ports/stm32f4/README.md anymore 2019-10-13 20:05:37 -04:00
Dan Halbert
f14fbd4aab update docs/supported_ports.rst 2019-10-13 19:39:42 -04:00
Dan Halbert
e89bcce711 Move font dependency to extmod from stm32 2019-10-13 19:33:03 -04:00
Dan Halbert
9c8f969b34 remove ports/zephyr 2019-10-13 11:09:55 -04:00
Dan Halbert
0bed5f490a remove ports/windows 2019-10-13 11:09:43 -04:00
Dan Halbert
8f792127da remove ports/teensy 2019-10-13 11:09:03 -04:00
Dan Halbert
fc033bd954 remove ports/stm32 2019-10-13 11:08:52 -04:00
Dan Halbert
7bc02ad3ba remove ports/qemu-arm 2019-10-13 11:08:35 -04:00
Dan Halbert
6dcaeae8c7 remove ports/pic16bit 2019-10-13 11:08:08 -04:00
Dan Halbert
c575cd7bc7 remove ports/minimal 2019-10-13 11:07:40 -04:00
Dan Halbert
7692e06230 remove ports/esp8266 2019-10-13 11:07:07 -04:00
Dan Halbert
41ef2ab591 remove ports/esp32 2019-10-13 11:06:54 -04:00
Dan Halbert
b0d656683b remove ports/cc3200 2019-10-13 11:06:33 -04:00
Dan Halbert
3d17e1d418 remove ports/bare-arm 2019-10-13 11:06:17 -04:00
Dan Halbert
c1ab2486f9 return chip vcc value 2019-10-12 15:42:15 -04:00
Limor "Ladyada" Fried
1a53ced167
Merge pull request #2212 from jepler/nrf-audio-issue2203
nrf: PWMAudioOut: deactivate PWM when deinitting self
2019-10-12 14:28:15 -04:00
fae6e29546 nrf: PWMAudioOut: deactivate PWM when deinitting self
.. otherwise, when an AudioPWMOut object was deinitted without being
explicitly stop()ped, it would use up a slot in active_audio[]; the
5th iteration would create a non-working audio object which would just
buzz instead of playing the right thing.

Closes: #2203
2019-10-12 14:01:35 +09:00
ef459326cb nrf: PWMAudioOut: coding style 2019-10-12 13:57:31 +09:00
Hierophect
1140ff5cd5 WIP 2019-10-11 15:47:55 -04:00
Kamil Tomaszewski
6b9375804c Rename circuitpython.spk to firmware.spk 2019-10-11 17:15:25 +02:00
Kamil Tomaszewski
771f43591a Add links to serial drivers 2019-10-11 12:57:43 +02:00
Kamil Tomaszewski
eb1dfd2312 Add .gitignore 2019-10-11 12:11:48 +02:00
Kamil Tomaszewski
954c1942f6 Add Spresense to build.yml 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
5cf66dfec2 Add cxd56 to build_board_info 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
0d139e4eca Add a way to change serial device name 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
c062990830 Make Makefile work across OS 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
8f653d6238 Use CXD56 pin names 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
5f09609d41 Add Spresense board folder 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
1fa8841d20 Change port name to cxd56 2019-10-11 08:23:51 +02:00
hierophect
0ccab508f1
Merge pull request #2208 from hierophect/stm32-DAC
STM32: DAC Support
2019-10-10 17:08:47 -04:00
Scott Shawcroft
18e91d9302
Merge pull request #2205 from jepler/scan-build-fixes
Fix several trivial problems found by clang 7's scan-build
2019-10-10 12:27:17 -07:00
Hierophect
bfebbaee32 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-10 14:28:19 -04:00
cd0ed65b29 mp_obj_instance_make_new: clearer way to avoid null pointer dereference 2019-10-10 13:25:24 +09:00
Hierophect
06b2fed518 improve macro readability 2019-10-09 16:06:23 -04:00
hierophect
4ce7a4cfdb
Merge branch 'master' into stm32-DAC 2019-10-09 15:47:43 -04:00
Hierophect
5f33c542b4 Fix include issues 2019-10-09 14:52:30 -04:00
Hierophect
8a94f25181 Text fixes 2019-10-09 13:54:40 -04:00
Hierophect
cb0ed264c4 Implement DAC 2019-10-09 13:34:20 -04:00
Kamil Tomaszewski
0a48282e51 Add Spresense to supported_ports 2019-10-09 13:11:22 +02:00
Kamil Tomaszewski
24c0fe26d8 Exclude spresense-exported-sdk from docs 2019-10-09 12:31:17 +02:00
Kamil Tomaszewski
6d1748fd59 Add spresense-exported-sdk submodule 2019-10-09 08:38:50 +02:00
Kamil Tomaszewski
49db102bdd Update tinyUSB 2019-10-09 08:32:58 +02:00
Kamil Tomaszewski
526925f1c6 Add Spresense board 2019-10-09 08:27:08 +02:00
Hierophect
f58d54cd22 Preliminary read system, not buffered 2019-10-08 16:03:51 -04:00
Dan Halbert
cc3e0a0d52
Merge pull request #2189 from kamtom480/circuitpython-number-endpoint
Add an alternative way to number the USB endpoints
2019-10-08 08:18:36 -04:00
Kamil Tomaszewski
810d802ca8 Fix invalid syntax error 2019-10-08 09:52:00 +02:00
kamtom480
f6e553f89f
Merge branch 'master' into circuitpython-number-endpoint 2019-10-08 09:41:29 +02:00
Kamil Tomaszewski
79096dbacd Add the specific endpoint names 2019-10-08 09:35:04 +02:00
Kamil Tomaszewski
29844db332 Use boolean type for renumber_endpoints 2019-10-08 09:26:02 +02:00
8fbe19b993 mp_obj_instance_make_new: avoid undefined behavior
If kw_args is NULL then memcpy() gets a NULL source argument.
This is undefined behavior under the C standard, even if 0 bytes
are being copied.

This problem was found using clang 7's scan-build static analyzer.
2019-10-08 11:31:06 +09:00
85f0048d22 mp_bytecode_print_str: avoid undefined behavior
Left shift of negative numbers is undefined in the "C" standard.  Multiplying
by 128 has the intended effect (in the absence of integer overflow, anyway),
can be implemented using the same shift instruction, but does not invoke
undefined behavior.

This problem was found using clang 7's scan-build static analyzer.
2019-10-08 11:16:11 +09:00
46b6870ffa gc_alloc: Remove redundant 'collected' assignment
The remaining assignment was added in upstream micropython; the
deleted assignment was added in circuitpython as part of the long-lived
object area feature.  During the merge, the redundant assignment
was not removed.

(since collected is a local variable and no pointers to it escape,
it doesn't seem possible for the placement of the assignment before
or after GC_ENTER() is important)

This diagnostic was found by clang 7's scan-build static analyzer.
2019-10-08 10:54:13 +09:00
0d96f1906b mp_binary_get_int: avoid undefined behavior
Left shift of negative numbers is undefined in the "C" standard.  Multiplying
by 256 has the intended effect (in the absence of integer overflow, anyway),
can be implemented using the same shift instruction, but does not invoke
undefined behavior.

This problem was found using clang 7's scan-build static analyzer.
2019-10-08 10:48:25 +09:00
Scott Shawcroft
4eb11fbde6
Merge pull request #2198 from kamtom480/circuitpython-msc-max-packet-size
Add a way to change max packet size for MSC
2019-10-07 13:58:06 -07:00
Chris Osterwood
137a4f8a5d Added new flash SKU for production hardware 2019-10-07 14:50:39 -04:00
Hierophect
cc3a17845c Fix USB issues, frequency macro, F412 tests 2019-10-07 14:22:12 -04:00
Dan Halbert
45c57db0ed
Merge pull request #2200 from kickbutts/patch-1
Update de_DE.po
2019-10-07 11:58:06 -04:00
hierophect
59ed879c8f
Merge pull request #2197 from hierophect/always-build-modules
Sort some modules into ALWAYS-BUILD in mpconfig
2019-10-07 09:09:28 -04:00
Kamil Tomaszewski
a020f203dc Update usb_descriptor submodule 2019-10-07 13:44:05 +02:00
Kamil Tomaszewski
badf32e88d Add HID OUT 2019-10-07 13:40:44 +02:00
Kamil Tomaszewski
1205d3e305 Add validation 2019-10-07 12:31:42 +02:00
Kamil Tomaszewski
7aefcc449a Add an alternative way to number the USB endpoints
Two options available:
- relative numbering (USB_RELATIVE_EP_NUM = 1) - default
- absolute numbering (USB_RELATIVE_EP_NUM = 0) - new!
2019-10-07 12:31:42 +02:00
Roy Hooper
dc8c27d129 make dotstar byteorder constants start with P. fix small bugs. 2019-10-06 22:44:00 -04:00
Dan Halbert
fc19e03128 WIP: bonding 2019-10-06 21:30:26 -04:00
Roy Hooper
55c688cbeb restructure to be subclassable 2019-10-05 15:53:53 -04:00
Roy Hooper
000ae6bf17 support subclasses 2019-10-05 13:47:40 -04:00
Roy Hooper
84b8ae1302 change frozen point on dotstar and neopixel libs 2019-10-05 12:53:58 -04:00
Thomas Konnemann
4d8aae12b5
Update de_DE.po 2019-10-05 12:42:40 +02:00
Hierophect
e017a5925d Revert modules with missed dependence 2019-10-04 15:04:24 -04:00
Hierophect
0b85172ba6 WIP 2019-10-04 14:37:18 -04:00
Hierophect
51901f7de0 Add peripheral definitions 2019-10-04 11:42:38 -04:00
Kamil Tomaszewski
ef42abb818 Add a way to change max packet size for MSC 2019-10-04 13:49:33 +02:00
Roy Hooper
dfad1352ad echo github context using python 2019-10-03 19:49:12 -04:00
Roy Hooper
00032619bd Update translation 2019-10-03 19:42:40 -04:00
Roy Hooper
7507b206be disable troublesome context dump (Argument list too long) 2019-10-03 19:16:36 -04:00
Roy Hooper
1051001495 Merge branch 'master' into new-pixelbuf-api 2019-10-03 19:06:55 -04:00
Hierophect
dc4abb922b Revert accidental OS delete 2019-10-03 15:40:46 -04:00
hierophect
f4922a530a
Merge pull request #2186 from hierophect/stm32-spi-flash
STM32: SPI Flash
2019-10-03 15:32:56 -04:00
Hierophect
7a2f60c43d Add Always Build flag, remove redundancy 2019-10-03 15:23:45 -04:00
Hierophect
eacdb1da6e Disable timeout, remove redundancy 2019-10-03 14:43:25 -04:00
Scott Shawcroft
6827354527
Merge pull request #2185 from dhalbert/xac-gamepad-fixes
Update tinyusb to fix gamepad;add HID OUT interface descriptor
2019-10-03 11:35:10 -07:00
Dan Halbert
463415a7ef update stm32f4 port to use tinyusb synopsys tree 2019-10-03 13:26:03 -04:00
Hierophect
83c49a5c80 Increase SPI timeout duration 2019-10-03 09:14:54 -04:00
Hierophect
8a4bbae077 Fix typo causing parsing error 2019-10-02 18:18:52 -04:00
Hierophect
5a6194839b Timeout fix for I2C device testing 2019-10-02 17:59:42 -04:00
Hierophect
86305bfdfe Make all errors value errors 2019-10-02 17:32:54 -04:00
Hierophect
9aa6d215fd Add some definitions for when F412 can be implemented 2019-10-02 16:03:22 -04:00
Hierophect
5a2f82095a Implement SPI flash settings, bugfix for SPI pin assignment 2019-10-02 15:17:49 -04:00
Scott Shawcroft
22b7050c4c
Merge pull request #2180 from sommersoft/support_matrix_defaults
Docs: Support Matrix - Fix Dependent Modules; Add Minimal/Default Build
2019-10-02 10:04:50 -07:00
sommersoft
01ec3b995e use 'any()' vs 'len == 1 & == False' 2019-10-02 00:02:49 -05:00
Dan Halbert
05038ea1e5 Update tinyusb to fix gamepad;add HID OUT interface descriptor 2019-10-01 15:57:16 -04:00
Scott Shawcroft
d6e987e587
Merge pull request #2182 from hierophect/stm32-spi
STM32: SPI Support
2019-09-30 20:00:23 -07:00
Hierophect
b66700720b improve error readability 2019-09-30 18:05:07 -04:00
Scott Shawcroft
3ff53a64cb
Merge pull request #2181 from tannewt/update_frozen
Update frozen modules.
2019-09-30 14:23:05 -07:00
Scott Shawcroft
25cefc16a5
Merge pull request #2184 from adafruit/tannewt-patch-1
Fail when boards are missing too
2019-09-30 13:40:35 -07:00
Scott Shawcroft
c12c837abd
Improve frozen prep to skip example subdirectories 2019-09-30 13:37:58 -07:00
Scott Shawcroft
8048dcb76c
Update frozon modules.
Fixes https://github.com/adafruit/Adafruit_CircuitPython_INA219/issues/12
2019-09-30 13:37:58 -07:00
Scott Shawcroft
060e81ded0
Fail when boards are missing too 2019-09-30 12:09:29 -07:00
Scott Shawcroft
33af5a913e
Merge pull request #2183 from hierophect/stm32-ci-update
Update Git CI with STM32 F405 boards
2019-09-30 12:08:45 -07:00
Hierophect
7848d0dbe5 that's right they need to be in order 2019-09-30 14:13:54 -04:00
Hierophect
1a7a235b05 Update CI boards 2019-09-30 13:47:17 -04:00
Hierophect
1f90cffc89 protect against edge case 2019-09-30 13:33:20 -04:00
Hierophect
56eb9666ea Implement never-reset, fix F412 2019-09-30 11:35:40 -04:00
Hierophect
a475b667b5 Clean up debugging messages, remove shortcuts 2019-09-30 11:04:09 -04:00
Hierophect
492bc3eedc Expand pin definitions for all boards 2019-09-30 10:45:02 -04:00
Hierophect
e2d0ad6adc Add settings reconfiguration 2019-09-29 15:01:32 -04:00
Hierophect
bf7b841020 Further reversion 2019-09-29 13:22:12 -04:00
Hierophect
89315999e2 Fix bad returns, revert flash changes 2019-09-29 13:18:43 -04:00
Hierophect
270396a882 Refine SPI settings for testing 2019-09-29 13:01:27 -04:00
sommersoft
c53ad5fe8a Merge branch 'master' of https://github.com/adafruit/circuitpython into support_matrix_defaults 2019-09-27 23:41:48 -05:00
sommersoft
c3dda7c535 add parsing for 'MINIMAL/DEFAULT'; process inclusion when determined by another module 2019-09-27 23:41:34 -05:00
Hierophect
d7443fce54 First implementation of read write 2019-09-27 17:59:55 -04:00
Hierophect
ad33950966 Flash memory changes - non functional 2019-09-27 11:00:09 -04:00
Dan Halbert
aa1eed3bd3 initial Arduino Nano 33 BLE board definition 2019-09-26 15:28:57 -04:00
Scott Shawcroft
cdc116291b
Merge pull request #2177 from wallarug/walla/robohatmm1-production
Robo HAT MM1 - Fixes after testing
2019-09-26 10:44:55 -07:00
Hierophect
51df8d18b4 Merge remote-tracking branch 'upstream/master' into stm32-spi 2019-09-26 13:44:24 -04:00
Scott Shawcroft
8221553600
Merge pull request #2175 from hierophect/stm32-f405-support
STM32 F405 support
2019-09-26 10:38:03 -07:00
Limor "Ladyada" Fried
9511d24727
Merge pull request #2178 from arturo182/serpente
serpente: Update PID and enable as many modules as we can fit
2019-09-26 12:39:02 -04:00
hierophect
f4a31a7843
Update PID to suggestion
USB_PID = 0x805C (Pyboard

Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2019-09-26 11:38:08 -04:00
Hierophect
f08127bfcc WIP 2019-09-26 11:35:08 -04:00
arturo182
21f8c3e40a serpente: Update PID and enable as many modules as we can fit 2019-09-26 17:22:18 +02:00
wallarug
3c99a23adb fix spi 2019-09-26 21:47:36 +10:00
wallarug
533a5bc7a3 fixed SPI on M4 2019-09-26 21:43:52 +10:00
wallarug
5cd10b3ba0 updated robohatmm1_m0 2019-09-26 20:02:09 +10:00
wallarug
39265fccf3 included a version number 2019-09-26 19:22:51 +10:00
wallarug
db9495b04b updated board name 2019-09-26 19:21:53 +10:00
wallarug
08b0f80879 updated board name 2019-09-26 19:21:24 +10:00
wallarug
b7e8a031d0 remove frozen busio library 2019-09-26 19:19:54 +10:00
wallarug
ff13b6f682 updated pins.c 2019-09-26 19:18:50 +10:00
Hierophect
a926d01509 reorganize pins 2019-09-25 11:53:49 -04:00
Hierophect
f286737868 add peripheral definitions 2019-09-25 11:37:27 -04:00
Hierophect
6058677979 whitespace fix 2019-09-24 16:10:43 -04:00
Hierophect
742e747609 Implement another USB ID 2019-09-24 14:53:56 -04:00
Hierophect
c3baf286c1 Implement correct USB IDs 2019-09-24 14:51:57 -04:00
Hierophect
d597410330 implement suggested changes 2019-09-24 14:15:04 -04:00
Hierophect
dc1109dba7 add feather support 2019-09-24 14:07:03 -04:00
Hierophect
61a45cdaed clock fixes 2019-09-24 13:17:46 -04:00
Hierophect
31a22858d5 text fixes 2019-09-24 10:05:40 -04:00
Hierophect
2b65a0e95f WIP 2019-09-23 17:40:28 -04:00
Hierophect
f1cd1c5d4d minor edits 2019-09-23 13:30:37 -04:00
Hierophect
19cf716461 Fix missing items 2019-09-23 12:14:27 -04:00
Hierophect
60bb6acf38 Add F405 support 2019-09-23 11:59:14 -04:00
Hierophect
fd1a257df3 Merge branch 'master' into stm32-f405-support 2019-09-23 09:36:03 -04:00
wallarug
70860e1352 robohatmm1 removed uart and put in correct order 2019-09-22 19:47:44 +10:00
Limor "Ladyada" Fried
7f1bc48a88
Merge pull request #2173 from hierophect/stm32-os
STM32: Add OS and Struct support
2019-09-20 16:42:31 -04:00
Hierophect
200c474a13 correct typo 2019-09-20 15:55:11 -04:00
Hierophect
00f1e4f1ad WIP 2019-09-20 15:54:34 -04:00
Limor "Ladyada" Fried
8d16379634
Merge pull request #2151 from hierophect/stm32-peripherals
STM32: peripheral management
2019-09-20 15:40:25 -04:00
Hierophect
9af5f3a7a7 Add OS and struct support 2019-09-20 14:51:23 -04:00
Hierophect
ef15ebe8c7 Repeated initialization protection, cleanup 2019-09-20 14:33:37 -04:00
Scott Shawcroft
13a9c446ee
Merge pull request #2171 from hierophect/stm32-find-fix
STM32: fix illegal option error on mac builds
2019-09-20 10:19:58 -07:00
Scott Shawcroft
19c6c96929
Merge pull request #2130 from jepler/nrf-debugflags
nrf: Makefile: sensible flags for debugging
2019-09-20 10:18:00 -07:00
Melissa LeBlanc-Williams
67c35bbbf0
Merge pull request #2166 from makermelissa/master
Added SPEAKER and TFT pins to HalloWing M4 for code compatibility
2019-09-20 09:47:08 -07:00
Hierophect
7cea078494 Added existance check 2019-09-20 12:39:48 -04:00
Melissa LeBlanc-Williams
9a74bf929b Added TFT pins to HalloWing M4 for code compatibility 2019-09-19 14:50:10 -07:00
Melissa LeBlanc-Williams
b7598f7058 Merge branch 'master' of https://github.com/adafruit/circuitpython 2019-09-19 14:20:28 -07:00
Scott Shawcroft
3f6379e6b4
Merge pull request #2158 from jepler/dac51
AnalogOut / AudioOut: Copy settings from Arduino
2019-09-19 14:20:11 -07:00
Hierophect
18c5be8835 QOL pin adds 2019-09-19 17:01:25 -04:00
Hierophect
9da5723c59 F412 support, cleanup 2019-09-19 16:32:38 -04:00
Hierophect
c12860ff7d the code equivalent of smacking something really hard with a wrench 2019-09-19 16:10:26 -04:00
Hierophect
b325eadc33 various failed attempts to get I2C to reset 2019-09-19 16:02:52 -04:00
Scott Shawcroft
0fed65e7d2
Merge remote-tracking branch 'adafruit/master' into dac51 2019-09-19 12:21:54 -07:00
Melissa LeBlanc-Williams
341428b4da Added SPEAKER pin to HalloWing M4 for code compatibility 2019-09-19 11:23:37 -07:00
Melissa LeBlanc-Williams
76d463e8ec
Merge pull request #2165 from makermelissa/master
Added TOUCH pins to HalloWing M4 for code compatibility
2019-09-19 11:19:05 -07:00
Hierophect
d56b62e44c Fix crash related to improper instance assignment 2019-09-19 14:15:12 -04:00
Melissa LeBlanc-Williams
8dfb2237d9 Added TOUCH pins to HalloWing M4 for code compatibility 2019-09-19 10:40:13 -07:00
Hierophect
c85873e4e6 index fix 2019-09-19 12:45:47 -04:00
Hierophect
60985968a8 Reorganize storage to per-pin 2019-09-19 12:18:18 -04:00
Hierophect
12cd009bb9 WIP 2019-09-18 16:49:15 -04:00
Hierophect
72fa4e250d Merge remote-tracking branch 'upstream/master' into stm32-peripherals 2019-09-18 15:33:04 -04:00
Limor "Ladyada" Fried
013aea3bb9
Merge pull request #2143 from hierophect/stm32-analogio
STM32: AnalogIO
2019-09-18 15:08:43 -04:00
Hierophect
bf62477ff9 Merge branch 'stm32-analogio' into stm32-peripherals 2019-09-18 13:45:22 -04:00
Hierophect
cd5ec365d3 Cleanup 2019-09-18 13:44:08 -04:00
Hierophect
d60ecc5e3d Rework I2C peripheral check 2019-09-18 13:42:54 -04:00
Hierophect
69a0bfaf34 Merge branch 'stm32-analogio' into stm32-peripherals 2019-09-18 12:15:44 -04:00
Hierophect
c9b86111f4 text fix 2019-09-18 11:45:21 -04:00
Hierophect
601c3ea8dc minor HAL swap 2019-09-17 17:54:29 -04:00
Hierophect
97b1208829 Merge remote-tracking branch 'upstream/master' into stm32-analogio 2019-09-17 17:47:15 -04:00
Hierophect
48ae684c6e Adjust settings to support F412 2019-09-17 17:46:44 -04:00
Limor "Ladyada" Fried
69234cc8d6
Merge pull request #2163 from tannewt/cpx_displayio
Add custom CPX build for display support
2019-09-17 16:55:42 -04:00
Hierophect
863655044e Re-expand pin reset 2019-09-17 16:52:44 -04:00
Hierophect
71531dd4d1 Fix out of date HAL inputs in DigitalIO 2019-09-17 16:15:39 -04:00
Hierophect
7c713b9e3b Fix crash related to ADC timeout 2019-09-17 15:45:15 -04:00
Hierophect
168823e096 Retract pin resets, revert to HAL, QOL changes 2019-09-17 15:07:08 -04:00
Scott Shawcroft
fc90c942f5
Add custom CPX build for display support 2019-09-17 10:40:07 -07:00
Scott Shawcroft
b5a9ed3688
Merge pull request #2161 from jepler/nrf-analog-reference
nRF: Change analog reference voltage
2019-09-17 09:41:52 -07:00
Scott Shawcroft
178419658b
Merge pull request #2162 from hexthat/patch-4
Update zh_Latn_pinyin.po
2019-09-17 09:41:27 -07:00
hexthat
fbe5da4090
Update zh_Latn_pinyin.po 2019-09-17 02:31:09 -07:00
dffedd7c86 samd: peripherals: update submodule reference 2019-09-16 21:48:31 -05:00
d39c85e3f5 nRF: Change analog reference to VCC(/4)
@ladyada says:
"having this be adjustable (reference) would be ideal cause you can get
absolute voltages but for now, VCC/4 + 4x matches every other chip :)"

... and indeed doing it this way happens to give a much more steady
reading when using a VCC-referenced resistance, and so many of the simple
things you'd wire up are actually VCC-referenced anyway.
2019-09-16 21:43:07 -05:00
c56186da8c nRF: Change analog reference voltage
Datasheet reading explains one reason why readings might have been 10% low.
2019-09-16 18:35:48 -05:00
Scott Shawcroft
bd4282adfd
Merge pull request #2160 from darkmusic/readme_fix
Update README.rst
2019-09-16 13:36:29 -07:00
Thomas Johnson
3a989acd1d
Update README.rst
Fixed link
2019-09-16 12:35:46 -07:00
Scott Shawcroft
aa9b57fc81
Merge pull request #2154 from arturo182/master
Add support for Serpente boards
2019-09-16 09:20:17 -07:00
arturo182
e1679acaec
Set as small build regardless of language 2019-09-16 11:51:46 +02:00
39c2a88c67
Merge pull request #2156 from kattni/monster-m4sk-pin-fix
Update board def, enable touchio
2019-09-15 21:41:35 -05:00
61698eb5d8 AnalogOut / AudioOut: Copy settings from Arduino
Make changes in asf4_conf even though I think in these cases the
"peripherals" submodule is running the show.

Arduino clocks the DAC at 12MHz but uses the CCTRL setting for
clocking < 1.2MHz (100kSPS).

A fresh clock (6) is allocated for the new 12MHz clock.  This matches
the Arduino value, though not the GCLK index.

Modify other settings to more closely resemble Arduino.

In AudioOut, actually clock the waveform data from the timer we set up
for this purpose.

This gives good waveforms when setting AnalogOut full-scale in a loop,
but the rise/fall of waveforms that come from AudioOut are still erratic.
Weirdly, if AudioOut limits its range even slightly (e.g., to 1000..64000)
then the erratic

Note that this will require https://github.com/adafruit/samd-peripherals/pull/26
to be accepted for the submodule update here to work.
2019-09-15 11:30:49 -05:00
Kattni Rembor
c94310411b Update board def, enable touchio 2019-09-14 21:19:35 -04:00
Scott Shawcroft
78318ae441
Merge pull request #2155 from tannewt/ignore_existing_files
When uploading release assets, ignore those already uploaded.
2019-09-14 13:43:29 -07:00
Scott Shawcroft
54b03a7476
When uploading release assets, ignore those already uploaded. 2019-09-14 13:05:52 -07:00
arturo182
53d474075f Merge branch 'serpente' into 'master' 2019-09-14 16:07:10 +02:00
arturo182
28bb901d1e Add support for Serpente boards 2019-09-14 16:06:28 +02:00
Hierophect
78de4b70ed Implemented working I2C on F412. 2019-09-13 14:00:53 -04:00
Scott Shawcroft
157429f20d
Merge pull request #2135 from jepler/audio-stuttering-background
Reduce audio stuttering by running background tasks
2019-09-13 09:33:36 -07:00
Scott Shawcroft
3422e53bd1
Merge pull request #2147 from jepler/issue2146
nRF: PWMOut: At deinit, make pin available again
2019-09-13 09:32:28 -07:00
Hierophect
d96aa8dac4 Merge branch 'stm32-analogio' into stm32-peripherals 2019-09-13 12:10:54 -04:00
Scott Shawcroft
42d37c5c51
Merge pull request #2126 from hierophect/stm32-pin-remap
STM32 pin remap
2019-09-13 09:03:03 -07:00
523025ce8c Merge remote-tracking branch 'origin/master' into audio-stuttering-background 2019-09-12 20:45:59 -05:00
Hierophect
f5cb2cc14e First pass at I2C pin authentication 2019-09-12 19:00:02 -04:00
Hierophect
e445e7930e Merge remote-tracking branch 'upstream/master' into stm32-pin-remap 2019-09-12 16:00:41 -04:00
Hierophect
6b6178613d WIP 2019-09-12 16:00:01 -04:00
Hierophect
1fda6d4a48 Merge branch 'stm32-pin-remap' into stm32-peripherals 2019-09-12 14:27:24 -04:00
Hierophect
55eb8dcfa0 ADC unit select, reset bugfix 2019-09-12 13:47:01 -04:00
70daf007ae In py/, must guard uses of RUN_BACKGROUND_TASKS 2019-09-11 21:15:10 -05:00
df48312ce7 nRF: PWMOut: At deinit, make pin available again
Closes: #2146
2019-09-11 20:09:38 -05:00
Hierophect
57ce381bcd disable claim pin for debug 2019-09-11 17:26:33 -04:00
Hierophect
7f54630224 fix tinyusb merge sync error 2019-09-11 14:39:17 -04:00
Hierophect
4b3796a303 Merge remote-tracking branch 'upstream/master' into stm32-analogio 2019-09-11 14:12:01 -04:00
Hierophect
a59a8e7a19 Merge branch 'stm32-pin-remap' into stm32-analogio 2019-09-11 14:11:47 -04:00
Hierophect
6e007f4e8c text fixes 2019-09-11 14:09:57 -04:00
Hierophect
d888922db6 minor text fix 2019-09-11 13:55:48 -04:00
Hierophect
3d2a4d4165 Merge branch 'stm32-f412-tinyusb' into stm32-analogio 2019-09-11 13:47:20 -04:00
Hierophect
9e25d9a9be Support for F412 2019-09-11 13:45:36 -04:00
Hierophect
9f8c8c6504 Compiler level bit packing 2019-09-11 13:12:49 -04:00
Hierophect
37248037d7 Alternative implementation via HAL for readability comparison 2019-09-11 11:35:37 -04:00
Hierophect
99c3cab00f text fixes 2019-09-10 19:51:26 -04:00
Hierophect
500b21c236 First pass at full LL implementation 2019-09-10 19:48:24 -04:00
Hierophect
49b04f4b77 Minor text fix 2019-09-10 17:52:07 -04:00
Scott Shawcroft
89fed709ad
Merge pull request #2127 from jepler/nrf-i2s
nrf: Add i2s audio output
2019-09-10 11:00:26 -07:00
Scott Shawcroft
9d95cc7ef9
Merge pull request #2136 from dhalbert/filesystem-tick-status-fixes
fix atmel-samd filesystem_tick'ing; clear_temp_status() should check for status indicator in use
2019-09-10 10:37:26 -07:00
Dan Halbert
b8200d7295 fix atmel-samd filesystem_tick'ing; clear_temp_status() should check for status indicator in use 2019-09-09 23:17:52 -04:00
Dan Halbert
2b560015c9
Merge pull request #2129 from jepler/audiomixer-debugging
audiomixer: Supply constants in a way "-Og" optimization expects
2019-09-09 22:43:49 -04:00
932ac0960b stream_readall: This can be long-running, run background tasks
While finding sources of clicks and buzzes in nrf i2sout, I identified
this site as one which could be long running.  Reproducer code was to
play a 22.05kHz sample and repeatedly print `os.listdir('')`
2019-09-09 20:14:02 -05:00
676f7aa808 os_listdir: This can be long-running, run background tasks
While finding sources of clicks and buzzes in nrf i2sout, I identified
this site as one which could be long running.  Reproducer code was to
play a 22.05kHz sample and repeatedly print `os.listdir('')`
2019-09-09 20:14:02 -05:00
d9c8460934 py/obj.c: This can be long-running, run background tasks
While finding sources of clicks and buzzes in nrf i2sout, I identified
this site as one which could be long running.  Reproducer code was to
play a 22.05kHz sample and repeatedly print `os.listdir('')`
2019-09-09 20:14:02 -05:00
7b9dfc9952 nrf: i2s: tune audio buffering
.. based on some tasks I found that caused stuttering:

 # Test SD and printing
 while True: os.listdir('.')

 # Test bulk I/O
 while True: len(open('somefile.wav', 'rb').read())

Each of these tasks *WAS* worse and I am improving them in a separate
PR by adding RUN_BACKGROUND_TASKS to them.
2019-09-09 20:13:12 -05:00
c66f5a8536 nrf: i2s: rewrite without 'goto' 2019-09-09 19:26:18 -05:00
fe9605a6a3 nrf: i2s: Comment this slightly tricksy code 2019-09-09 19:25:52 -05:00
Dan Halbert
4282ff42ca
Merge pull request #2133 from dhalbert/usb-selection-fix
Renumber endpoints for only chosen USB interfaces; fix HID report ids
2019-09-09 18:18:41 -04:00
Dan Halbert
53b0b35e34
Merge pull request #2132 from hierophect/stm32-f412-tinyusb
STM32: Add USB support to F412 Discovery
2019-09-09 17:41:21 -04:00
Hierophect
c438468a82 Updated VID and PID 2019-09-09 17:05:18 -04:00
Dan Halbert
8f6267115c Renumber only chosen USB interfaces; fix HID report ids 2019-09-09 15:12:06 -04:00
Hierophect
d8251ae4ab Include full descriptor list 2019-09-09 15:01:04 -04:00
Scott Shawcroft
6ad860a963
Merge pull request #2101 from matthewnewberg/display_io_dither
Add random dithering to ColorConverter
2019-09-09 10:11:07 -07:00
Hierophect
129615a724 text fixes 2019-09-09 11:58:27 -04:00
Hierophect
426ddb356e Add support for F412 via latest tinyusb update 2019-09-09 11:42:55 -04:00
Scott Shawcroft
d9e0641606
Set dither default to False and document it 2019-09-08 21:30:52 -07:00
82427612d1 WaveFile: Return GET_BUFFER_ERROR if wrong amount read
Closes: #2128
2019-09-08 21:59:07 -05:00
ccf08aa3df nrf: I2SOut: deal more gracefully with errors from the sample 2019-09-08 21:59:07 -05:00
8768896d6b audiomixer: Supply constants in a way "-Og" optimization expects
These arguments are constrained to be compile-time constants, a fact
that gcc complains about under "-Og" optimization, but not in normal
builds.  Declare them as enumerated types
2019-09-08 21:18:15 -05:00
e890bc8efe nrf: Makefile: sensible flags for debugging
This enables the highest level of debug symbols, and all optimizations
except lto that do NOT interfere with debugging, in the view of the gcc
maintainers.
2019-09-08 21:07:00 -05:00
Jeff Epler
b613a50d8c run 'make translate' 2019-09-08 17:31:01 -05:00
f38ee42874 nrf: Add i2s audio output
Testing performed: I used a Particle Xenon with a HDA1334 I2S DAC.
I played a variety of mono 16-bit samples at 11025 and 22050Hz nominal
bit rates.  With this setup, all the 11025Hz samples sound good.
I tested play, pause,  and loop functionality.

During some runs with 22050Hz samples, there were glitches.  However,
these may have only occurred during runs where I had set breakpoints
and watchpoints in gdb.

I also tested with a MAX98357A I2S amplifier.  On this device, everything
sounded "scratchy".  I was powering it from 5V and the 5V rail seemed
steady, so I don't have an explanation for this.  However, I haven't
tried it with a SAMD board.
2019-09-08 16:46:35 -05:00
Dan Halbert
bd7b03fc7e
Merge pull request #2124 from dhalbert/cpb-fixes
Fix Circuit Playground Bluefruit pin errors
2019-09-08 12:07:16 -04:00
Hierophect
0d2e9c3762 WIP 2019-09-07 15:54:16 -04:00
Hierophect
beb40a62a7 Fix missed shift replacement 2019-09-07 13:19:50 -04:00
Hierophect
642f4535f4 text fixes 2019-09-06 19:44:57 -04:00
Hierophect
4490fb196d delete analogio for now 2019-09-06 19:42:03 -04:00
Hierophect
a3ed5ec27b Add latest USB support 2019-09-06 18:02:57 -04:00
Hierophect
589b502bfc Merge branch 'master' into stm32-analogio 2019-09-06 17:55:33 -04:00
Hierophect
a932d2c4a1 Minor fixes 2019-09-06 17:40:45 -04:00
Hierophect
8c0be5fbe2 Pack pin numbers, add ADC to pin structure, support DigitalIO 2019-09-06 17:30:52 -04:00
Matthew Newberg
8e55232492 Use kwargs for dither in ColorConverter constructor 2019-09-06 16:23:24 -04:00
Matthew Newberg
b2fb5ac1c1 Fix comment on color converter 2019-09-06 16:11:15 -04:00
Dan Halbert
cf6fbcbf2d
Merge pull request #2123 from hierophect/stm32-flashstub-fix
Fix stm32f412zg compile warning
2019-09-06 14:56:24 -04:00
Dan Halbert
3c22c690c8 CPB A1 pin mapping wrong; remove A7 2019-09-06 14:17:11 -04:00
Hierophect
3156ee1acb Re-apply warning as error 2019-09-06 11:28:57 -04:00
Hierophect
ba45f98073 Add basic analogio files 2019-09-06 11:26:20 -04:00
Hierophect
bc37649884 Remove unused static function 2019-09-06 11:06:02 -04:00
Matthew Newberg
4604a69498 Move dither parameter to ColorConverter constructor and parameter 2019-09-05 21:55:45 -04:00
Scott Shawcroft
5e754f1694
Merge pull request #2121 from tannewt/markdown_autolink
Add support for converting autolinks to BBCode
2019-09-05 11:28:24 -07:00
Scott Shawcroft
8066810abb
Merge pull request #2091 from jepler/samd-dma-tracking
Samd dma tracking
2019-09-05 11:27:59 -07:00
Scott Shawcroft
c5caacafdd
Merge pull request #2100 from pewpew-game/pewpew_m4
Add support for PewPew M4 board
2019-09-05 11:26:47 -07:00
Scott Shawcroft
5c436342ca
Merge pull request #2119 from hierophect/stm32-ci-workflow
Add stm32 port to workflow
2019-09-05 11:26:14 -07:00
Hierophect
cf9d3f66ab Merge remote-tracking branch 'upstream/master' into stm32-analogio 2019-09-05 13:52:08 -04:00
Hierophect
96d1711296 Merge remote-tracking branch 'upstream/master' into stm32-ci-workflow 2019-09-05 13:36:23 -04:00
Dan Halbert
296e8589b0
Merge pull request #2116 from dhalbert/choose-usb-devices-xac
Choose which USB and USB HID devices to include at compile-time
2019-09-05 13:25:03 -04:00
Radomir Dopieralski
d50ed3b6e7 Add support for PewPew M4 board 2019-09-05 10:50:33 +02:00
Dan Halbert
f3af2a6fb7 Merge remote-tracking branch 'adafruit/master' into choose-usb-devices-xac 2019-09-04 21:56:13 -04:00
sommersoft
28e17feb93
Merge pull request #2120 from tannewt/fix_website_updater_for_blinka
Fix website updater for other users.
2019-09-04 20:55:06 -05:00
Dan Halbert
195de97c67 use only one endpoint pair for MSC except on SAMD21 2019-09-04 21:45:16 -04:00
Matthew Newberg
3ab6a23434 Removed unused return value in displayio_colorconverter_convert 2019-09-04 20:42:24 -04:00
Scott Shawcroft
dab345ce58
Add support for converting autolinks to BBCode 2019-09-04 17:15:30 -07:00
Scott Shawcroft
ff3d04f4d1
Fix website updater for other users.
It broke with adafruit-blinka but works now.
2019-09-04 16:50:13 -07:00
Hierophect
e92a21cb0a minor text fixes 2019-09-04 18:40:44 -04:00
Hierophect
1862e9c5da text fixes 2019-09-04 18:32:24 -04:00
Hierophect
0cd5f4c12b remove redundant exclusion inclusion 2019-09-04 18:28:27 -04:00
Hierophect
779ee3238c add missing board 2019-09-04 18:22:30 -04:00
Hierophect
e6f8ad65c1 add stm32 port to workflow 2019-09-04 18:10:37 -04:00
Dan Halbert
fca440fb66
Merge pull request #2113 from tannewt/displayio_hidden
Add .hidden to TileGrid and Group
2019-09-04 15:48:00 -04:00
Scott Shawcroft
321b57a5d2
Merge pull request #2080 from sommersoft/mixer_voice
Add audiocore.MixerVoice
2019-09-04 12:46:59 -07:00
Dan Halbert
b46c8dcc62
Merge pull request #2065 from hierophect/f411re-feature-buildout
F411re feature buildout
2019-09-04 15:45:54 -04:00
Scott Shawcroft
7951646b9a
Disable bitbangio on uGame10 2019-09-04 11:49:47 -07:00
Hierophect
479b047618 Reverted descriptor changes pending HID restructuring 2019-09-04 13:58:18 -04:00
Scott Shawcroft
70407e4d87
Bitpack bools in TileGrid and Group 2019-09-04 10:27:21 -07:00
Scott Shawcroft
16a8a34688
Merge pull request #2117 from pewpew-game/stage-fix-transaction
Fix transactions in _stage after displayio changes
2019-09-04 10:23:19 -07:00
Radomir Dopieralski
5f6228b6f0 Fix transactions in _stage after displayio changes
Also, move the rendering setup code to shared-module from
shared-bindings.

In CP 5.0, displayio_display_core_set_region_to_update now starts
its own transaction, so it has to be moved outside of the transaction
started by the render call.
2019-09-04 16:41:58 +02:00
Dan Halbert
95a5a57f94 Merge remote-tracking branch 'adafruit/master' into choose-usb-devices-xac 2019-09-04 00:12:09 -04:00
sommersoft
da912e8c74 doc cleanup 2019-09-03 22:44:43 -05:00
sommersoft
edfcee29ff remove leftover debug print 2019-09-03 22:25:27 -05:00
Dan Halbert
d3cb1030c8 trivial change; try to force check run 2019-09-03 23:15:50 -04:00
Dan Halbert
e921314f43 remove testing settings left in by accident 2019-09-03 21:28:41 -04:00
Dan Halbert
94ba027544 simpler generation of HID device tables 2019-09-03 21:16:14 -04:00
Scott Shawcroft
949f8761b8
Add .hidden to TileGrid and Group
This allows for one to preserve ordering within a Group while
hiding something temporarily.

Fixes #1688
2019-09-03 16:15:27 -07:00
Dan Halbert
321835cb47
Merge pull request #2112 from tannewt/use_blinka_token
Swap to Blinka access token to hopefully not hit rate limit
2019-09-03 18:53:24 -04:00
Dan Halbert
e92b5f7e3e
Merge pull request #2111 from tannewt/fix_ssd1306_hang
Fix I2CDisplay bus_free to not grab lock
2019-09-03 18:24:26 -04:00
Scott Shawcroft
4651f91f94
Swap to Blinka access token to hopefully not hit rate limit 2019-09-03 14:50:33 -07:00
Scott Shawcroft
b53f169824
Fix I2CDisplay bus_free to not grab lock
Fixes #2098
2019-09-03 14:46:47 -07:00
Scott Shawcroft
b3549980aa
Merge pull request #2109 from hexthat/patch-3
Update zh_Latn_pinyin.po
2019-09-03 13:47:51 -07:00
Scott Shawcroft
e4b5257d4c
Merge pull request #2108 from dastels/master
Capture rotation
2019-09-03 12:49:50 -07:00
Dan Halbert
42f5edbd33 WIP 2019-09-03 14:44:46 -04:00
hexthat
6c2dff1efd
Update zh_Latn_pinyin.po
added translations
2019-09-03 10:30:27 -07:00
Dave Astels
b318896b85 Capture rotation 2019-09-03 12:35:41 -04:00
Dan Halbert
de7a603c06
Merge pull request #2105 from arturo182/GD25Q32C
Add GD25Q32C flash device definition
2019-09-03 09:33:14 -04:00
Dan Halbert
35c7646ee4
Make trivial change to redo GitHub Actions build.
The GitHub Actions build for this PR is failing for reasons that make no sense. Make a tiny commit change to see if it will refresh things and work again.
2019-09-03 08:52:21 -04:00
Scott Shawcroft
a480b70488
Merge pull request #2106 from sommersoft/rtd_custom_css
Docs: Wrap Text In Tables
2019-09-02 21:24:48 -07:00
sommersoft
4e19158e0e docs: make sphinx include 'docs/static/customstyle.css' 2019-09-02 18:46:48 -05:00
arturo182
12c97b42a4 Add GD25Q32C flash device definition 2019-09-02 23:22:52 +02:00
Dan Halbert
febfc7e4e9
Merge pull request #2103 from dhalbert/master-dotstar-fix
Merge in 4.x status dotstar fix
2019-09-02 11:13:41 -04:00
Dan Halbert
4b97ec9d23 Merge in 4.x status dotstar fix 2019-09-02 10:25:38 -04:00
sommersoft
b1c3d47413 Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice 2019-09-01 21:16:12 -05:00
sommersoft
c4d6f4f536 disable 'audiomixer' for all M0 boards 2019-09-01 17:39:20 -05:00
sommersoft
362c1664ae use more accurate ARMv7 prepocessor flags; TODOs for asm instructions 2019-09-01 17:36:29 -05:00
Matthew Newberg
d87bfaf480 Add random dithering to ColorConverter 2019-08-31 22:07:09 -04:00
sommersoft
3c7c3c98d7 include CMSIS instrinsic addition functions for M4; cleanup C math funcs 2019-08-31 17:36:54 -05:00
sommersoft
398e7ff6d3 doc update 2019-08-31 16:06:41 -05:00
sommersoft
f82c61732a enable Mixer backwards compatibility (when audiomixer is available) 2019-08-31 16:06:16 -05:00
Scott Shawcroft
b954b2f5df
Merge pull request #2092 from dhalbert/bleio-api-revamp
Bleio attribute api revamp
2019-08-29 21:48:31 -07:00
sommersoft
e3ccd97563 update translations 2019-08-29 22:17:28 -05:00
sommersoft
8120f5cdad Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice 2019-08-29 22:14:53 -05:00
sommersoft
6a68d0b4d0 bring back 'mixer.play()' & 'mixer.stop_voice()' 2019-08-29 22:12:12 -05:00
sommersoft
e618441e18 eval the expression vs [un]defined 2019-08-29 22:09:45 -05:00
Dan Halbert
318d704887 make translate 2019-08-29 18:48:52 -04:00
Dan Halbert
7a64af9280 rename bleio module to _bleio 2019-08-29 18:44:27 -04:00
Scott Shawcroft
2b5ce666be
Merge pull request #2096 from tannewt/hallowing_m4_5.x
Hallowing m4 5.x
2019-08-29 15:22:59 -07:00
Dan Halbert
b11b7916fd address minor issues: typos, make translate, and sphinx 2019-08-29 17:58:21 -04:00
Scott Shawcroft
9730d4aa1c
Merge remote-tracking branch 'adafruit/4.1.x' into hallowing_m4_5.x 2019-08-29 14:38:16 -07:00
Scott Shawcroft
8d14266bc3
Merge pull request #2094 from tannewt/hallowing_m4
Add Hallowing M4 support
2019-08-29 14:31:29 -07:00
Scott Shawcroft
0aa5507c4c
add additional pin aliases 2019-08-29 13:41:28 -07:00
Dan Halbert
b114bbee06 Merge remote-tracking branch 'adafruit/master' into bleio-api-revamp 2019-08-29 14:15:53 -04:00
Scott Shawcroft
193df55bec
Merge pull request #2088 from tannewt/master
Swap the CI to GitHub Actions from Travis
2019-08-29 10:44:25 -07:00
Scott Shawcroft
84839de56f
Hallowing M4 2019-08-29 10:34:46 -07:00
Scott Shawcroft
2c17d235b2
Build on all branch pushes 2019-08-28 21:02:03 -07:00
Dan Halbert
f17059b10b another API rework: less abstraction leakage 2019-08-28 23:15:22 -04:00
30a9346373 samd: audio_dma: Track channel allocation
Previously, we depended on allocated channels to always be
"dma_channel_enabled".  However, (A) sometimes, many operations
would take place between find_free_audio_dma_channel and
audio_dma_enable_channel, and (B) some debugging I did led me to believe
that "dma_channel_enabled" would become false when the hardware ended
a scheduled DMA transaction, but while a CP object would still think it
owned the DMA channel.

((B) is not documented in the datasheet and I am not 100% convinced that
my debugging session was not simply missing where we were disabling the
channel, but in either case, it shows a need to directly track allocated
separately from enabled)

Therefore,
 * Add audio_dma_{allocate,free}_channel.
   * audio_dma_free_channel implies audio_dma_disable_channel
   * track via a new array audio_dma_allocated[]
 * clear all allocated flags on soft-reboot
 * Convert find_free_audio_dma_channel to audio_dma_allocate_channel
   * use audio_dma_allocated[] instead of dma_channel_enabled() to check
     availability
 * remove find_free_audio_dma_channel
 * For each one, find a matching audio_dma_disable_channel to convert
   to audio_dma_free_channel

Closes: #2058
2019-08-28 17:00:22 -05:00
0b00787b4d samd: AudioOut: ensure stopped before deinit
.. otherwise, a sequence like
    >>> a = audioio.AudioOut(board.A0)
    >>> a.play(sample, loop=True)
    >>> a.deinit()
would potentially leave related DMA channel(s) active.
2019-08-28 16:43:55 -05:00
Dan Halbert
19c59b41ed bleio: API change to create and connect related objects simulatenously: no orphan bleio objects 2019-08-28 16:15:09 -04:00
Dan Halbert
a72bcab0fd Merge remote-tracking branch 'adafruit/master' into bleio-api-revamp 2019-08-28 16:09:18 -04:00
Scott Shawcroft
6106909c10
Swap the CI to GitHub Actions from Travis 2019-08-27 19:53:54 -07:00
Dan Halbert
7cbae3d20c
Merge pull request #2012 from tannewt/remove_i2c_stop_kwarg
Add writeto_then_readfrom to I2C API. Deprecate stop kwarg.
2019-08-27 22:25:24 -04:00
Scott Shawcroft
0876d5c4ad
Disable bitbangio on Itsy M0
Also, switch CIRCUITPY_BITBANG_APA102 to makefile setting so it can alter included files
2019-08-27 15:21:47 -07:00
Scott Shawcroft
966a48b23a
More size_t usage 2019-08-27 12:49:46 -07:00
Scott Shawcroft
d956b3b359
Merge remote-tracking branch 'adafruit/master' into remove_i2c_stop_kwarg 2019-08-27 11:23:30 -07:00
Scott Shawcroft
42956a62a3
Merge pull request #2085 from tannewt/epd
Rework display refresh, add M4SK and add ePaper support
2019-08-27 10:06:14 -07:00
Scott Shawcroft
bea77c651a
Minor renames 2019-08-26 16:37:59 -07:00
Dan Halbert
0364f1dc85 remove some debugging prints 2019-08-26 08:17:59 -04:00
Dan Halbert
76446f634b BLE HID WIP: works everywhere except iOS; fixed a bunch of bugs; pretend bonding 2019-08-25 21:38:13 -04:00
sommersoft
750ffcc81a docs: correct audiomixer refs 2019-08-25 14:57:29 -05:00
sommersoft
696117b048 disable audiomixer on boards it doesn't fit on 2019-08-25 14:53:34 -05:00
sommersoft
7f64af38cb fix 'audiomixer_mixer_reset_buffer' 2019-08-25 09:33:23 -05:00
sommersoft
2e4b687ba5 enable audiomixer on nrf 2019-08-25 07:32:48 -05:00
sommersoft
0a8c0733ad update translations 2019-08-24 23:37:42 -05:00
sommersoft
df5568d993 move Mixer & MixerVoice from 'audiocore' to 'audiomixer' 2019-08-24 23:36:18 -05:00
sommersoft
b54fd961cb Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice 2019-08-24 17:14:05 -05:00
sommersoft
db32a79596 comment clean up 2019-08-24 16:21:30 -05:00
sommersoft
965f2bf799 fix MixerVoice.get_level; now returns a float between 0-1. 2019-08-24 09:24:54 -05:00
sommersoft
d02d474cac fix MixerVoice 'get_playing' 2019-08-24 08:20:26 -05:00
sommersoft
93e557e167 docs: make MixerVoice.level a property 2019-08-24 07:57:55 -05:00
sommersoft
2c55b40a53 use a MixerVoice constructor 2019-08-24 07:56:12 -05:00
Scott Shawcroft
7324b70a7c
Rework based on Dan's review 2019-08-23 15:27:21 -07:00
Scott Shawcroft
5662b5813e
Use size_t and document buffers can be the same. 2019-08-23 12:13:11 -07:00
Scott Shawcroft
b992ca80e7
Rejigger builds to fit under 50 minute limit 2019-08-22 20:29:58 -07:00
Scott Shawcroft
72e7ffa324
More cleanup 2019-08-22 16:16:09 -07:00
sommersoft
1ec4faee55 remove MixerVoice deinit & context managers 2019-08-22 17:59:19 -05:00
Scott Shawcroft
fd8050b369
Turn off features to make room for ePaper 2019-08-22 15:19:45 -07:00
Scott Shawcroft
d2d27a01b9
Update translations 2019-08-22 14:29:51 -07:00
Scott Shawcroft
8d836fa248
Regular display fixes including refresh tweaks 2019-08-22 14:25:46 -07:00
Scott Shawcroft
9993a99906
Add initial Monster M4SK build 2019-08-22 14:24:32 -07:00
Scott Shawcroft
2497cbe186
Fix nrf builds 2019-08-22 14:23:33 -07:00
Scott Shawcroft
f8e4ccac45
Fix builds without displayio 2019-08-22 14:23:33 -07:00
Scott Shawcroft
f2a1972ba8
Add refresh_time to use if busy_pin is not given 2019-08-22 14:23:33 -07:00
Scott Shawcroft
3a98de1236
Add reset() to display busses to detect whether it works 2019-08-22 14:23:33 -07:00
Scott Shawcroft
24b30965c4
Refresh ePaper displays once code.py is done running 2019-08-22 14:23:32 -07:00
Scott Shawcroft
36a23e0fe3
Rework refresh API and factor common display stuff out
NOT TESTED! Just compiles

Fixes #1691
2019-08-22 14:23:27 -07:00
Scott Shawcroft
c247e7df9c
Begin refresh rework. 2019-08-22 14:08:33 -07:00
Benny Meisels
d37dd4d758
Updated ParallelBus implementation in nrf port 2019-08-22 14:08:33 -07:00
Scott Shawcroft
70680d5b22
EPaper displays work mostly. 2019-08-22 14:08:33 -07:00
Scott Shawcroft
8fa8737465
Initial ePaper work 2019-08-22 14:08:32 -07:00
Scott Shawcroft
1d973a0803
Merge pull request #2071 from dhalbert/shared-module-touchio
make nrf touchio be generic: now available for SAMD51 too
2019-08-22 14:03:52 -07:00
Scott Shawcroft
82d436d05e
Add writeto_then_readfrom to I2C API. Deprecate stop kwarg.
writeto_then_readfrom has been added to do a write -> no stop ->
repeated start -> read sequence. This is done to match the
capabilities of Blinka on Linux.

Code that uses stop=False will not work correctly on Blinka.
To fix, if stop=False then use writeto_then_readfrom otherwise use
writeto then readfrom_into.

First step in #2082
2019-08-22 12:34:46 -07:00
Dan Halbert
7cc15e56c8 make translate 2019-08-22 15:20:23 -04:00
Dan Halbert
18f441ae35
Merge pull request #2083 from dhalbert/no-32khz-xtal
Fix CPBlue LFCLKSRC; CPB has no status neopixel
2019-08-22 13:14:40 -04:00
Dan Halbert
0b7291d767 fix default crystal value; fix include order 2019-08-22 09:01:05 -04:00
Scott Shawcroft
6aa311aabd
Merge pull request #2027 from dastels/displayio_fill_area
To displayio.Display: expose fill_area and add a property for rotation
2019-08-21 23:48:21 -07:00
Dan Halbert
acc6df4959 merge similar fix in 2019-08-22 01:29:34 -04:00
Dan Halbert
d94023e9b3 Fix CPBlue LFCLKSRC; CPB has no status neopixel 2019-08-22 01:04:00 -04:00
Scott Shawcroft
524fa82092
Merge pull request #2081 from dhalbert/rotaryio-pin-check-fix
typo in IncrementalEncoder.c
2019-08-21 13:02:06 -07:00
Scott Shawcroft
389e7cc35d
Merge pull request #2072 from bmeisels/nrf-no-crystal-support
Add support for nrf boards that don't have an external crystal
2019-08-21 13:01:26 -07:00
Dave Astels
99a3da3b60 Get rid of the last bits of array dependancy 2019-08-21 15:24:39 -04:00
Dave Astels
d547d59cba Merge remote-tracking branch 'adafruit/master' into displayio_fill_area 2019-08-21 15:02:51 -04:00
Dave Astels
dcf36db263 Make room 2019-08-21 14:46:10 -04:00
Dave Astels
8b2a1b9e97 Add message ids for translation 2019-08-21 14:19:42 -04:00
Dave Astels
5023b62268 Make them static (fixing build break?) as they aren't needed by Display 2019-08-21 14:08:24 -04:00
Dave Astels
8bbab01316 Remove unneeded lines 2019-08-21 13:57:52 -04:00
sommersoft
5cd04366fe remove 'if float' pre-processor checks 2019-08-20 22:39:26 -05:00
Dave Astels
56aad056da getting the buffer info should happen first (due to its check) 2019-08-20 17:00:24 -04:00
Benny Meisels
fe2ec6c887 Add support for nrf boards that don't have an external crystal 2019-08-20 23:30:21 +03:00
Dan Halbert
6e3a6d0ac5 typo in IncrementalEncoder.c 2019-08-20 16:23:17 -04:00
Dan Halbert
95d728faf0 update tinyusb to upstream commit 2019-08-20 14:11:48 -04:00
Dave Astels
eb0a8cc0bf Move the get_buffer call earlier 2019-08-20 13:48:12 -04:00
Dave Astels
0fd886fa7f Remove array cast 2019-08-20 13:45:58 -04:00
Dan Halbert
e00696de7f merge from upstream and make translate 2019-08-20 13:06:23 -04:00
Dan Halbert
58d29feab1 make translate 2019-08-20 13:02:01 -04:00
Dave Astels
f3d476aad8 Remove temporarily comments code 2019-08-20 12:25:56 -04:00
Dave Astels
53bb95a023 Rework to simplify 2019-08-20 10:05:41 -04:00
Dave Astels
10bc0d29d1 Switch to positional parameters 2019-08-20 10:05:09 -04:00
Dave Astels
2b7897cded Fix typo 2019-08-20 10:03:36 -04:00
sommersoft
e9efc2fe25 fix one more doc ref to audiocore 2019-08-20 08:32:20 -05:00
Dan Halbert
cccbbd956d Detect lack of pulldown; check for pin in use 2019-08-19 23:40:34 -04:00
Scott Shawcroft
42143ca056
Merge pull request #2079 from dhalbert/tinyusb-update-00c440cb
update tinyusb to 00c440cb
2019-08-19 20:19:22 -07:00
sommersoft
e92ef7b018 fix doc refs for audiocore 2019-08-19 22:04:06 -05:00
Scott Shawcroft
bd4d3c6393
Merge pull request #2068 from jepler/audioio-compat
audioio: By default, be compatible with 4.x
2019-08-19 19:43:52 -07:00
sommersoft
eb8f1cc1dc update translations 2019-08-19 21:40:31 -05:00
sommersoft
1b2996a75e Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice 2019-08-19 21:23:27 -05:00
sommersoft
17190ae63e abandon incomplete mixer asm math functions 2019-08-19 21:20:52 -05:00
Dan Halbert
44b28d1187 update tinyusb to 00c440cb 2019-08-19 19:42:45 -04:00
Dan Halbert
0ddfbb0c20
Merge pull request #2055 from jepler/run-background-tasks
Implement and use RUN_BACKGROUND_TASKS in place of MICROPY_VM_HOOK_LOOP
2019-08-19 17:15:20 -04:00
Dan Halbert
fc7ae2aa6f move back to previous tinyusb commit 96d96 2019-08-19 16:19:20 -04:00
Dan Halbert
e3dc5e3a66 Merge remote-tracking branch 'adafruit/master' into run-background-tasks
Restore dependencies indicated by indentation in circuitpy_mpconfig.h.
2019-08-19 12:41:20 -04:00
Dan Halbert
6b54e6749e
Merge pull request #2032 from pewpew-game/audiocore-buffer
Allow to specify pre-allocated buffer in audicore.WaveFile
2019-08-19 11:54:19 -04:00
Dan Halbert
308efbeb04
Merge pull request #2075 from jepler/nrf-pdm-audioin
nrf: implement audiobusio.PDMIn
2019-08-19 11:36:43 -04:00
Hierophect
e490e6361f Add warnings, cosmetic fixes, remove vestigial modules 2019-08-19 10:47:18 -04:00
Dan Halbert
1a818c60cb make translate again; make check-translate passes 2019-08-19 10:25:36 -04:00
Dan Halbert
9343d09321
Merge pull request #2074 from dhalbert/travis-jobs-reorg
try to group travis jobs more logically
2019-08-19 09:02:20 -04:00
dc5b795647 locale: update with 'make translate' 2019-08-18 21:30:31 -05:00
26a05d01dc Merge remote-tracking branch 'origin/master' into nrf-pdm-audioin 2019-08-18 21:30:14 -05:00
388dd5e1c4 locale: update with 'make translate' 2019-08-18 21:29:05 -05:00
Dan Halbert
f17e95bac1 reduce from 10 to 8 jobs 2019-08-18 20:43:33 -04:00
Hierophect
95411a62b3 Cosmetic fixes 2019-08-18 19:08:27 -04:00
912fd7759d nrf: PDMIn: Implement
So far, this supports only 16kHz and 16-bit samples with a fixed gain.
This is enough to support the basic functionality of e.g., sensing
ambient audio levels.
2019-08-18 15:58:04 -05:00
79f8a85786 nrf: stub out audiobusio.PDMIn, audiobusio.I2SOut 2019-08-18 15:55:57 -05:00
Dan Halbert
1e13cd23b1 Revert "remove a few unused or one-off boards"
This reverts commit a18824ad82.
2019-08-18 16:06:10 -04:00
Dan Halbert
a18824ad82 remove a few unused or one-off boards 2019-08-18 15:58:09 -04:00
Dan Halbert
27afaea2b9 no boards for test-only subjob 2019-08-18 15:46:52 -04:00
Dan Halbert
da4a45ae0b nrf TRAVIS_SDK is obsolete 2019-08-18 14:48:50 -04:00
Dan Halbert
e6480ea288 try to group travis jobs more logically 2019-08-18 14:39:40 -04:00
Dan Halbert
3f7321af00
Merge pull request #2031 from jepler/nrf-lto
Enable link-time optimization for nrf targets
2019-08-18 12:35:26 -04:00
Dan Halbert
1dbb559792
Merge pull request #2070 from jepler/localtime-hardfault
localtime: don't hard-fault on type errors; handle localtime(float)
2019-08-18 11:43:08 -04:00
f384d2dd80 shared-bindings/time: style 2019-08-18 08:11:14 -05:00
Dan Halbert
e2a4c76a37 make nrf touchio be generic: now available for SAMD51 too 2019-08-18 08:44:10 -04:00
9d164965c9 localtime: don't hard-fault on argument type errors; handle localtime(float)
It turns out `mp_obj_int_get_checked` is not appropriate to call when
the argument is not of int or long type--the "checked" refers to guarding
against overflow/underflow, not type checking.

For compatibility with CPython, handle float arguments.

Closes: #2069
2019-08-17 20:49:25 -05:00
47d6dd843e audioio: By default, be compatible with 4.x
Testing performed: That the shipped .mpy files on a PyPortal (CP 4.x)
still work (play audio) with this branch, instead of erroring because
`WaveFile` can't be found in `audioio`.

Flash usage grew by 28 bytes.  (I expected 24, there must be some other
effect on size/alignment that I didn't predict)
2019-08-17 13:54:06 -05:00
Radomir Dopieralski
58b4cd4956 Improve docs for WaveFile buffer 2019-08-17 11:31:45 +02:00
Dave Astels
7a235f3746 Simplify to only extracting one line
Since this was the usecase, doing so simplifies the function significantly.
2019-08-16 21:10:09 -04:00
Scott Shawcroft
85d7398476
Merge pull request #2066 from dhalbert/ble-pairing
BLE: more features
2019-08-16 14:50:00 -07:00
Dan Halbert
630c92392a address review comments; avoid calling common_hal_bleio_device... routines from shared-bindings 2019-08-16 15:18:53 -04:00
Dan Halbert
d244f7e070
Merge pull request #2067 from jepler/update-tinyusb-issue2057
update tinyusb
2019-08-16 10:28:46 -04:00
49d8ea648d update tinyusb
This fixes a problem with USB MIDI messages 0xc and 0xd and
Closes: #2057
2019-08-16 07:40:37 -05:00
Dan Halbert
af29fc3ea8 make translate and fix sphinx issues 2019-08-15 21:54:52 -04:00
Hierophect
7dbf1a8caa text fixes 2019-08-15 17:56:15 -04:00
Hierophect
1f42ce5f40 QOL fixes, compatibility fixes, attribution 2019-08-15 17:45:40 -04:00
Hierophect
bc7ba33892 Add uid fetch, revert USB hacks 2019-08-15 16:35:01 -04:00
Hierophect
a9d3ad86e5 Fix flash size, add filesystem disable flag 2019-08-15 15:55:33 -04:00
Hierophect
0fdb5a032f Text fixes 2019-08-15 15:12:50 -04:00
Hierophect
620d3d14dd Add conditional endpoints to descriptor script 2019-08-15 13:41:51 -04:00
Dan Halbert
485dd8a673
Merge pull request #2061 from dhalbert/cpblue
Initial board definition for Circuit Playground Bluefruit
2019-08-14 20:22:50 -04:00
Dan Halbert
fc772b42dd
Merge pull request #2063 from tannewt/fix_i2cdisplay
Fix I2CDisplay lifecycle and splash lifecycle.
2019-08-14 20:22:18 -04:00
Scott Shawcroft
b3de7efc07
Fix I2CDisplay lifecycle and splash lifecycle.
Fixes https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/issues/2
2019-08-14 15:53:58 -07:00
Hierophect
e0a49532f0 more submodule fixes 2019-08-14 13:38:31 -04:00
Hierophect
60b4cd64f1 Fix desynchronized submodules 2019-08-14 13:29:15 -04:00
Hierophect
1539dca7f0 Add reset support, minor fixes 2019-08-14 13:14:42 -04:00
Dan Halbert
5877bd6036 CPblue initial definition 2019-08-13 22:12:36 -04:00
sommersoft
614962ad6f non-DSP 8bit & 16bit functions working. 2019-08-13 19:30:42 -05:00
Hierophect
c4c55fffb1 Fixed remaining issues with flash organization and writing 2019-08-13 18:05:40 -04:00
Scott Shawcroft
583392a5c6
Merge pull request #2046 from brentru/add-pyportal-titano
Add PyPortal Titano
2019-08-12 16:01:10 -07:00
Scott Shawcroft
49cb72d585
Merge pull request #2047 from brentru/fix-terminalio-clearing
Fix Terminal's Tilegrid not Clearing
2019-08-12 16:00:43 -07:00
Scott Shawcroft
c565ea6c29
Merge pull request #2043 from jepler/issue1908
Improvements to Audio DMA management
2019-08-12 15:58:09 -07:00
Scott Shawcroft
9a6e603ced
Merge pull request #2050 from jepler/issue2048
usb_hid: Allow USB work to progress while waiting for tud_hid_ready
2019-08-12 15:16:21 -07:00
Scott Shawcroft
eb1a158c1b
Merge pull request #2053 from jepler/namedtuple-tuple_get
py: mp_obj_tuple_get: accept any item which can use tuple_getiter
2019-08-12 15:14:31 -07:00
e3c0428838 shared-module: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
32a6d36405 shared-bindings: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
11dd3a260e nrf: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
d9ee2d28a0 atmel-samd: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
076cbcc4f8 cicuitpy_mpconfg.h: Define RUN_BACKGROUND_TASKS
In #2013, @danh says:
    My choice of where to put the semicolon is deliberate,
    so that we can say

        RUN_BACKGROUND_TASKS;

    not have a redundant semicolon, and not confuse C code formatting.
2019-08-11 08:53:02 -05:00
568dfc73a9 cicuitpy_mpconfg.h: Alphebetize and standardize indentation
.. no semantic change intended
2019-08-11 08:53:02 -05:00
Hierophect
300dc68955 Further non-functional flash changes 2019-08-10 18:00:09 -04:00
3eb418af39 py: mp_obj_tuple_get: accept any item which can use tuple_getiter
.. such as namedtuple and attrtuple objects.  This is the same
predicate used elsewhere in the file to check for adequate compatibility
between the types.

This was discovered due to crashing `time.time()` on the nrf port.

Closes: #2052
2019-08-10 10:10:41 -05:00
be5205d020 usb_hid: Allow USB work to progress while waiting for tud_hid_ready
Otherwise, examples like the one attached to the related issue fail
because tud_hid_ready never returns true.

Testing performed: Adapted the example to nrf particle xenon (it was
handy), removed dependency on IR, verified that the problem occurred
before this change, and that it was fixed after this change.

Closes: #2048
2019-08-10 09:33:45 -05:00
Hierophect
294d6dc867 Add flash functions and setup, fix msc descriptor bug 2019-08-09 19:58:54 -04:00
brentru
5a8846d33c remove cruft from prv board 2019-08-08 15:12:01 -04:00
brentru
1b7e213be4 fix terminalio not clearing on construct 2019-08-08 14:58:51 -04:00
brentru
f87f48ab88 adding pyportal titano board definition 2019-08-08 14:56:28 -04:00
Chris Osterwood
d5658860aa Added pin definition for battery change enable. Pin used to switch in a 10 ohm resistor during Hub reset & strapping. 2019-08-08 14:39:50 -04:00
Chris Osterwood
fb2712410e Merge branch 'master' into capablerobot-usbhub 2019-08-08 14:14:23 -04:00
Dan Halbert
1570ef2dd4 specifying attribute length; fix up value setting 2019-08-07 23:49:09 -04:00
33b949abfa samd: audio_dma, audio_background: Gate with CIRCUITPY_ defines
Some ports which actually don't have audioio or audiobusio were still
calling into audio_dma_background().  This wasn't an error until
the assignment to audio_dma_state in audio_dma_stop was added, though
it's not clear why.
2019-08-07 21:29:24 -05:00
500d1bb168 samd: audio_dma.c: Remove exceptions, just return early
These were most useful debugging, but because this code can be reached
"outside of the VM", it's not actually permitted to throw exceptions here.
2019-08-07 20:20:36 -05:00
brentru
1d4700cb6c add pindefs for tft and tft control 2019-08-07 18:29:20 -04:00
Hierophect
c375a5d37f Add pin and module support for F411 2019-08-07 18:12:13 -04:00
brentru
8f6eac98f3 add defs for pyportal titano 2019-08-07 17:10:31 -04:00
Dave Astels
239ad19765 Pass in preallocated result buffer 2019-08-07 15:27:43 -04:00
Dave Astels
263f6f439b Remove obsolete experimental property 2019-08-07 15:27:04 -04:00
Dan Halbert
d047b73a9c fix newly-introduced bugs; UART client/server working again 2019-08-07 11:10:21 -04:00
39c64bf83c samd: audio_dma_stop: don't free invalid channel
audio_dma_stop can be reached twice in normal usage of AudioOut.

This may bear further investigation, but stop it here, by making the
function check for a previously freed channel number.  This also prevents
the event channel from being disabled twice.

The first stop location is from audio_dma_get_playing, when the buffers
are exhausted; the second is from common_hal_audioio_audioout_stop when
checking the 'playing' flag.
2019-08-06 22:00:31 -05:00
8b717955ba samd: audio_dma: wrap dma_{en,dis}able_channel and add error checking
It turns out the "disable" error will fire in practice, we'll fix that
next.
2019-08-06 22:00:31 -05:00
Dan Halbert
d74c8b9425 WIP: more Descriptor work; refactor gattc/gatts read/write 2019-08-06 22:55:25 -04:00
6253f11503 samd: audio_dma_stop: Clear out audio_dma_state[]
As identified in #1908, when both AudioOut and PDMIn are used, hard
locks can occur.  Because audio_dma_stop didn't clear audio_dma_state[],
a future call to audio_dma_load_next_block could occur using a DMA
object which belongs to PDMIn.

I believe that this Closes: #1908 though perhaps it is still not the full
story.

Testing performed: Loaded a sketch similar to the one on #1908 that
tends to reproduce the bug within ~30s.  Ran for >300s without hard
lock.  HOWEVER, while my cpx is no longer hard locking, it occasionally
(<1 / 200s) announces
    Code done running. Waiting for reload.
(and does so), even though my main loop is surrounded by a 'while True:'
condition, so there are still gremlins nearby.
2019-08-06 21:34:21 -05:00
Scott Shawcroft
47a0b7cba1
Merge pull request #2042 from jepler/qstr-expansion
makeqstrdata: permit longer "compressed" outputs
2019-08-06 14:13:48 -07:00
c4f3a02b3b makeqstrdata: permit longer "compressed" outputs
It is possible for this routine to expand some inputs, and in fact
it does for certan strings in the proposed Korean translation of
CircuitPython (#1858).  I did not determine what the maximum
expansion is -- it's probably modest, like len()/7+2 bytes or
something -- so I tried to just make enc[] an adequate
over-allocation, and then ensured that all the strings in the
proposed ko.po now worked.  The worst actual expansion seems to be a
string that goes from 65 UTF-8-encoded bytes to 68 compressed bytes
(+4.6%).  Only a few out of all strings are reported as
non-compressed.
2019-08-06 07:39:09 -05:00
a0877b3d0c
Update ko.po
This fixes two additional problems, a missing newline and an incorrect character set definition.  However, the build process still fails locally during "makeqstrdata"
2019-08-06 07:33:44 -05:00
Dan Halbert
243334da75 Merge remote-tracking branch 'adafruit/master' into ble-pairing 2019-08-05 23:06:24 -04:00
Dan Halbert
1e8800117a
Merge pull request #2040 from tannewt/merge_in_410
Merge 4.1.0 into master
2019-08-05 22:54:12 -04:00
Scott Shawcroft
59efce3035
Merge pull request #2039 from dhalbert/metro-52840
Metro nRF52840 rev A defn; remove '#define FEATHER52840' from mpconfigboard.h
2019-08-05 18:48:36 -07:00
Scott Shawcroft
c542663a33
Fix quotes 2019-08-05 18:30:53 -07:00
Scott Shawcroft
26f64dd8ec
Merge remote-tracking branch 'adafruit/4.1.x' into merge_in_410 2019-08-05 17:53:08 -07:00
Scott Shawcroft
b675a27e16
Merge pull request #2000 from jepler/nrf-pwm-audio
Implement PWM audio out for the nrf port
2019-08-05 17:26:27 -07:00
Dan Halbert
c56566179a Metro nRF52840 rev A defn; also remove '#define FEATHER52840' from mpconfigboard.h files 2019-08-05 18:10:27 -04:00
Dan Halbert
b67d04a5b1 Merge remote-tracking branch 'adafruit/master' into ble-pairing 2019-08-05 16:35:44 -04:00
Hierophect
2489c09b44 Merge i2c implementation 2019-08-04 17:24:07 -04:00
Hierophect
a635d46b1a Fix merge related issues 2019-08-04 17:19:38 -04:00
Hierophect
0c43bae01d Merge branch 'master' into f411re-feature-buildout 2019-08-04 16:37:49 -04:00
Hierophect
268cf0a3cc Quick fix for incorrect MCU package type 2019-08-04 16:31:03 -04:00
Roy Hooper
3cf9a475b9 fix 'white' byte for dotstars 2019-08-04 11:02:33 -04:00
sommersoft
7d938ebe4d fix trellis_m4_express linker; somehow got changed/degraded 2019-08-03 16:48:34 -05:00
Roy Hooper
5c08182c73 fix fix the byte order property. 2019-08-03 13:35:11 -04:00
sommersoft
065efb05b7 bring MixerVoice back to building state; update documentation 2019-08-03 11:20:06 -05:00
77bc1ba03e nrf: PWMAudioOut: Remove the need to wait in "pause"
The original formulation was because I saw the need to avoid a transition
from playing to stopped exactly when a resume was taking place.  However,
@tannewt was concerned about this pause causing trouble, because it could
be relatively lengthy (several ms even in a typical case).

After reflection, I've convinced myself that updating the registers
in this order in resume avoids a window where a "stopped" event can
be missed as long as the shortcut is updated first.

Testing re-performed: pause/resume testing of looped RawSample and
WaveFile audio sources.
2019-08-03 08:19:25 -05:00
Radomir Dopieralski
9907e3fa28 Allow to specify pre-allocated buffer in audicore.WaveFile
It lets us re-use the same buffer for playing multiple files.
This also allows us to control the size of the buffer. Half of the
buffer will be used for the fist, and half for the second internal
buffer.
2019-08-03 14:15:19 +02:00
4bae29b925 nrf: enable link-time optimization
Testing performed: installed freshly built .uf2 on a Particle Xenon.
Checked that circuitpython still starts.
Checked that the size of all .uf2 files for nrf builds are plausible.

Aside from memory savings, the performance of Python code (pystone)
increased by about +14%.

However, this adds about 12-16 seconds to each nrf build.

Timings & Sizes (build system: i5-3320M, -j5 parallelism on 4 threads):

Before:
$ make -j5 BOARD=particle_xenon
765004 bytes free in flash out of 1048576 bytes ( 1024.0 kb ).
232076 bytes free in ram for stack out of 245760 bytes ( 240.0 kb ).
68.54user 11.83system 0:34.34elapsed 234%CPU
pystones before: 570

After:
$ make -j5 BOARD=particle_xenon
804284 bytes free in flash out of 1048576 bytes ( 1024.0 kb ).
232072 bytes free in ram for stack out of 245760 bytes ( 240.0 kb ).
71.06user 11.77system 0:46.91elapsed 176%CPU
pystones after: 650

Timings on travis:

Before:
Build feather_nrf52840_express for pl took 55.79s and succeeded
Build feather_nrf52840_express for zh_Latn_pinyin took 3.18s and succeeded

After:
Build feather_nrf52840_express for pl took 62.72s and succeeded
Build feather_nrf52840_express for zh_Latn_pinyin took 19.10s

Closes: #1396
2019-08-02 20:59:47 -05:00
Dan Halbert
347fbb652f
Merge pull request #2030 from pewpew-game/stage-scale
Add support for scaling to _stage
2019-08-02 18:28:16 -04:00
Dan Halbert
7ce3776b80 WIP: rework of Characteristic properties; enhance Descriptor; not tested 2019-08-02 17:57:31 -04:00
Radomir Dopieralski
c1e5247d51 Add support for scaling to _stage
On high-resolution displays we can use 2x2 or even 3x3 pixels.
2019-08-02 22:55:55 +02:00
Scott Shawcroft
64bf0f8f1f
Merge pull request #1996 from jepler/nrf-reboot-bootloader
[DRAFT] nrf: enable "reboot to bootloader" functionality
2019-08-02 11:55:33 -07:00
Scott Shawcroft
08718993be
Merge pull request #2028 from pewpew-game/master
Update circuitpython-stage to 1.0.4 for audiocore changes
2019-08-02 11:36:31 -07:00
28b7cbfca6 nrf: Mark interrupt vectors as used 2019-08-02 07:53:35 -05:00
Roy Hooper
cff9c9bc95 Reuse error message 2019-08-01 20:24:39 -04:00
jepler
34e2bab96a nrf: Implement RUNMODE_BOOTLOADER and RUNMODE_SAFE_MODE 2019-08-01 18:53:07 -05:00
Radomir Dopieralski
fd2299e51a Update circuitpython-stage to 1.0.4 for audiocore changes
Since some parts of audioio were moved to audiocore, we now have
to import them differently.
2019-08-01 04:19:50 +02:00
76f65ac694 Implement play/pause
.. and also incidentally fix a problem where a RawSample could only
be looped 131070 times.
2019-07-31 20:02:56 -05:00
Scott Shawcroft
95d2694bc3
Merge pull request #2026 from pewpew-game/master
Fix missing write_ram_command in _stage
2019-07-31 16:44:39 -07:00
Scott Shawcroft
eee759455a
Merge pull request #2018 from keith-packard/snekboard
Add board support for keithp.com SnekBoard
2019-07-31 16:38:51 -07:00
Dave Astels
cd092df9d8 Merge remote-tracking branch 'adafruit/master' into displayio_fill_area 2019-07-31 18:46:41 -04:00
sommersoft
9939d0c4f4 Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice 2019-07-31 16:44:43 -05:00
b0f7c7bc4c Merge remote-tracking branch 'origin/master' into nrf-pwm-audio 2019-07-31 16:32:54 -05:00
Radomir Dopieralski
c4c5d8c5e7 Fix missing write_ram_command in _stage
Since the changes in displayio, displayio_display_set_region_to_update
no longer sends the write_ram_command, so we have to send it explicitly.
2019-07-31 23:32:42 +02:00
Hierophect
06d53ef8a7 minor debugging changes 2019-07-31 17:06:44 -04:00
Dave Astels
1f9cb44fa3 Expose rotation with a property 2019-07-31 15:00:21 -04:00
Hierophect
e2fc55f829 Add baseline HAL I2C support 2019-07-31 14:58:55 -04:00
Dave Astels
741cd9c40a Get fill_area working 2019-07-31 12:47:32 -04:00
Dan Halbert
ee518b9141 Merge remote-tracking branch 'adafruit/master' into ble-pairing 2019-07-31 11:22:48 -04:00
Dan Halbert
91d791afd0 cleanup adapter.address; add uniquish suffix to BLE device name 2019-07-31 00:30:24 -04:00
Scott Shawcroft
366fdcce18
Merge pull request #2011 from tannewt/ssd1322
Add knobs for SSD1322 and two displayio fixes.
2019-07-30 14:15:37 -07:00
Scott Shawcroft
9dd56b1566
Merge branch 'master' into snekboard 2019-07-30 14:12:08 -07:00
Scott Shawcroft
bb04fbf410
Merge pull request #2014 from robotics-masters/wallarug-robohat
Robo HAT MM1 updates v1.8 board
2019-07-30 11:49:31 -07:00
Dan Halbert
83129b8c63 BLE: peripheral client pairing (not yet bonding); fix time doc formatting 2019-07-30 14:26:26 -04:00
wallarug
ecfffac3a8
Delete samd51x19-bootloader-external-flash-crystalless.ld 2019-07-30 19:48:35 +10:00
wallarug
ff6ae1aefb
Update mpconfigboard.mk to use standard linker file 2019-07-30 19:13:33 +10:00
Scott Shawcroft
f9d314b263
Merge pull request #1985 from sommersoft/dynamic_support_matrix
Docs: Dynamically Build Support Matrix Table
2019-07-29 18:08:16 -07:00
Scott Shawcroft
3b3a7bbd06
Update pwmaudioio module for PWMAudioOut 2019-07-29 17:45:06 -07:00
Scott Shawcroft
3961014a9e
Update doc comments for PWMAudioOut 2019-07-29 17:43:22 -07:00
b72352949b PWM audio: Rename AudioOut -> PWMAudioOut, _audioio_ -> _audiopwmio_ 2019-07-29 18:39:00 -04:00
Keith Packard
c6e4ddc88a boards/snekboard: Delete SPI object reference
Snekboard does not expose any pins for SPI to the user, so delete
the SPI object reference as that won't work.

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:45:52 -07:00
Keith Packard
9a37c8a4b3 boards/snekboard: Add pin aliases for UART and I2C
Allow users to use TX/RX and SDA/SCL names.

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:45:06 -07:00
Dan Halbert
a108554a85
Merge pull request #2016 from hexthat/patch-2
added translations
2019-07-29 16:17:15 -04:00
Dan Halbert
e5860f83bc
Merge pull request #2017 from sethitow/fix-example-typo
bleio: Fix typo in Peripheral example code.
2019-07-29 16:15:57 -04:00
Keith Packard
4387ecfdfb Update snekboard PID to official value
Snekboard has been assigned the following PIDs:

	PID 0x004D  # bootloader
	PID 0x804D  # arduino
	PID 0x804E  # circuitpython

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:15:18 -07:00
Keith Packard
326df70ac2 Fix snekboard names
Manufacturer -- keithp.com
Product -- snekboard

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:15:18 -07:00
Keith Packard
7736e71e91 Add snekboard to .travis.yml
Make sure snekboard images are autogenerated

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:15:18 -07:00
Keith Packard
56f710f64f Add board support for keithp.com SnekBoard
This is another SAMDG2118A design with built-in 9V motor controllers
that are designed to be used with Lego PowerFunctions devices.

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:14:37 -07:00
Hierophect
6c7723905c Add temp status LEDs 2019-07-29 11:21:35 -04:00
wallarug
dc1eb73ee7
Merge branch 'master' into wallarug-robohat 2019-07-29 21:53:49 +10:00
wallarug
8974c7e843
Added BUTTON to pins.c 2019-07-29 16:37:53 +10:00
wallarug
9e0bea405d
Added BUTTON to pins.c 2019-07-29 16:37:21 +10:00
wallarug
4d30efdc2a
Updated pins.c for GROVE. 2019-07-29 16:29:48 +10:00
wallarug
8838e25cb2
Update pins.c 2019-07-29 16:28:35 +10:00
sommersoft
8eab946c5b
Merge pull request #2003 from C47D/travis_check_new_boards
Add check to travis to make sure new boards are built, fix #1886
2019-07-28 22:41:59 -05:00
sommersoft
bbc5255f04 update rST ref link for support matrix 2019-07-28 21:25:43 -05:00
sommersoft
f7b10b1fde docs: install setuptools earlier 2019-07-28 18:19:56 -05:00
sommersoft
6454eb1384 docs: add setuptools for sphinx 2.x 2019-07-28 18:15:03 -05:00
sommersoft
6129a58508 have Travis use pip3 for Sphinx 2.x 2019-07-28 16:02:02 -05:00
sommersoft
8c75962850 add ':noindex:' to micropy's 'network.rst' to avoid sphinx conflict 2019-07-28 16:00:29 -05:00
sommersoft
d489c7a057 change 'c2rst' from source_parser -> extension; allows use of sphinx 2.x 2019-07-28 15:59:26 -05:00
Seth Itow
a2bab9f172
bleio: Fix typo in Peripheral example code. 2019-07-27 12:58:28 -07:00
hexthat
6afb758bdc
added translations 2019-07-27 10:31:11 -07:00
Dan Halbert
28ca05ccdc allow discovery from central or peripheral 2019-07-27 13:22:15 -04:00
sommersoft
143275db04 fix board_exclusion lookup 2019-07-27 11:01:10 -05:00
sommersoft
cebdadd0f6
Merge branch 'master' into dynamic_support_matrix 2019-07-27 10:46:53 -05:00
sommersoft
c335f170d7 update 'Core Modules' description 2019-07-27 10:36:08 -05:00
sommersoft
69bbdcab91 use MICROPY_HW_BOARD_NAME vice board's folder name 2019-07-27 10:30:57 -05:00
sommersoft
c6ac0ba683 move the support matrix to its own page; add linking for modules 2019-07-27 10:03:18 -05:00
sommersoft
19e504f182 change conf.py to use modules-by-board 2019-07-27 09:16:06 -05:00
sommersoft
a184380dc9 add port-wide config parsing; add modules-by-board function 2019-07-27 09:15:37 -05:00
wallarug
c22c13110b updated travis with build names 2019-07-27 17:46:02 +10:00
wallarug
0f30070d58 updated naming schema to match other boards 2019-07-27 17:44:42 +10:00
wallarug
b06fa48735 updated a few files 2019-07-27 16:59:07 +10:00
wallarug
9c57f52d1e updated pins.c for robohat 2019-07-27 16:56:03 +10:00
wallarug
24e84adc6d further robohat cleanups 2019-07-27 16:38:47 +10:00
wallarug
e2b83e2dd9 minor changes robohat d21 2019-07-27 16:36:13 +10:00
wallarug
36008de2ed added custom ld file for samd51 no crystal, ext flash 2019-07-27 16:29:30 +10:00
wallarug
eda3423e35 updated to v1.7 board (samd51) 2019-07-27 16:27:41 +10:00
Roy Hooper
cf3bb7e118 fix bugs and inline the byteorder code 2019-07-26 18:52:22 -04:00
Hierophect
343d5aa0ac Delete redundant file 2019-07-26 16:48:23 -04:00
Hierophect
90b1701b6c Add CDC REPL access 2019-07-26 14:06:27 -04:00
Hierophect
45d1c9f02e Merge branch 'F4xx-port-setup' into f411re-tinyusb 2019-07-26 10:23:45 -04:00
aa1398e696 support matrix: add audiopwmio, update audiocore, sort 2019-07-26 07:57:21 -05:00
91b7ba7dcc docs: An audiocore.Mixer suffices where another audio source would 2019-07-26 07:57:21 -05:00
a53720810b docs: corrections that stem from the "audiocore" rename 2019-07-26 07:57:21 -05:00
324d31225c make translate 2019-07-26 07:57:21 -05:00
a183425e00 ports/nrf: Implement audioio.AudioOut using PWM
This implements AudioOut, with known caveats:
 * pause/resume are not yet implemented (this is just a bug)
 * at best, the sample fidelity is 8 bits (this is a hardware limitation)

Testing performed:

My test system is a Particle Xenon with a PAM8302 op-amp
https://www.adafruit.com/product/2130 and 8-ohm speaker.  There's no
analog filtering between the Xenon's PWM pin and the "A+" input of
the amplifier; the "A-" pin is disconnected.  It is powered from
VUSB.

I used pin D4, which is *NOT* listed as a low-speed-only pin, but
the code does NOT switch the pin to high drive.  This is related to
an open issue for general inability to set drive level for pins
being used by a "special function" on nrf:
https://github.com/adafruit/circuitpython/issues/1270

Nothing about the code I've written should limit the usable pins.

All samples I played were 16-bit, generally monophonic at 11025Hz
and 22050Hz from the Debian LibreOffice package.
2019-07-26 07:57:11 -05:00
2bc704fe07 ports/nrf: factor out routines for allocating, freeing pwm channels 2019-07-26 07:52:37 -05:00
7b9d26cefe WavFile.h: include vfs_fat.h for pyb_file_obj_t definition
Without such a definition, this header is not self-contained, but
requires whoever included it to also include vfs_fat.h
2019-07-26 07:52:37 -05:00
54cde56ec5 audiopwmio: Add the shared files for this new module 2019-07-26 07:52:37 -05:00
Scott Shawcroft
c61c874a6d
Reduce feather_m0_supersized build size
Make it match feather_m0_express
2019-07-26 00:31:41 -07:00
Scott Shawcroft
a87094e01f
Turn off GC opt to save space on Trinket Haxpress 2019-07-25 22:56:46 -07:00
Scott Shawcroft
f8d2776177
Extend existing board lists
Adding another means a build would be 6 concurrent jobs and make two not fit side by side in the 10 total we have.
2019-07-25 22:54:14 -07:00
Scott Shawcroft
1dd4bf0280
Update translations 2019-07-25 22:48:36 -07:00
Scott Shawcroft
4e7de436b4
Update constructors of boards with displays 2019-07-25 22:48:11 -07:00
Scott Shawcroft
af8cfbedfb
Add knobs for SSD1322 and two fixes.
* Fix terminal clear after first successful code.py run.
* Fix transmitting too many bytes for column constraint with single
  byte bounds.
2019-07-25 15:41:12 -07:00
C47D
be1fd5e995 [travis check new boards] Add missing boards to TRAVIS_BOARDS 2019-07-25 16:27:26 -05:00
C47D
7e4d7a5373 [travis check new boards] Fail in case of any missing boards 2019-07-25 16:11:45 -05:00
Scott Shawcroft
d99d3bd471
Merge pull request #2010 from jepler/audiocore
audiocore: Factor from audioio
2019-07-25 13:52:30 -07:00
Dave Astels
b6178c9d85 WIP on exposing fill_area 2019-07-25 15:05:30 -04:00
Dave Astels
7fd1a6c8a8 Expose array_new and array_subscr 2019-07-25 15:04:55 -04:00
Scott Shawcroft
485f06e36f
Remove unneeded headers 2019-07-25 11:58:27 -07:00
6b44e40ee8 audiocore: Factor from audioio
When nrf pwm audio is introduced, it will be called `audiopwmio`.  To
enable code sharing with the existing (dac-based) `audioio`, factor
the sample and mixer types to `audiocore`.

INCOMPATIBLE CHANGE: Now, `Mixer`, `RawSample` and `WaveFile` must
be imported from `audiocore`, not `audioio`.
2019-07-25 06:44:26 -05:00
Scott Shawcroft
8ec2d6ce49
Merge pull request #2007 from hierophect/F4xx-port-setup
Add STM32 Discovery F412ZG and F411RE support
2019-07-24 18:49:48 -07:00
Hierophect
295afaaf6c Update SystemCoreClock macro 2019-07-24 16:31:25 -04:00
Hierophect
981398406c Implement working (if useless) USB on F411 2019-07-24 16:23:35 -04:00
Hierophect
21f1ae51df Merge in PR edits 2019-07-24 15:02:26 -04:00
Hierophect
d66c9590af Merge tinyusb changes from upstream 2019-07-24 14:54:22 -04:00
Hierophect
a63df51893 Requested changes, general cleanup 2019-07-24 14:21:27 -04:00
Dan Halbert
f39a6f40fd
Merge pull request #2009 from hathach/tinyusb-update
update tinyusb lib to 0.5.x
2019-07-24 12:09:04 -04:00
hathach
5d03cda01a whitespace 2019-07-24 16:49:13 +07:00
hathach
c921f6637f update tinyusb lib to 0.5.x 2019-07-24 16:46:31 +07:00
sommersoft
45a54c3fd7 docs: replace overzealous removal of parens 2019-07-23 23:14:50 -05:00
sommersoft
136bbc1690 docs: revert calling 'shared_bindings_matrix.py' 2019-07-23 20:52:28 -05:00
sommersoft
b90b63bb2b don't use files to pass data; call and return directly in conf.py 2019-07-23 20:49:37 -05:00
Hierophect
267468834d Pin down some TUSB issues 2019-07-23 19:40:26 -04:00
sommersoft
7b67ef15c4 remove local copy of 'support_matrix.json' 2019-07-23 17:11:39 -05:00
Hierophect
172ab190b5 Revert tinyUSB issue 2019-07-23 17:15:13 -04:00
Hierophect
0dee1a1646 Setup for changes 2019-07-23 17:04:03 -04:00
Hierophect
5ee5c35833 Doc error caused by submodule, misc cleanup 2019-07-23 15:28:48 -04:00
Hierophect
f9b5a9af4e Merge branch 'F3xx-port-setup' into f411re-tinyusb 2019-07-23 15:17:18 -04:00
Hierophect
5cfde7b6ea Switch to submodule for cube files 2019-07-23 14:37:30 -04:00
C47D
8864cefba6 [travis check new boards] missing_boards as set 2019-07-23 13:03:29 -05:00
C47D
c316231dd2 [travis check new boards] Do not end test if there are missing boards 2019-07-23 13:02:07 -05:00
Hierophect
9c1487cff6 Python doc generator fixes 2019-07-23 13:48:59 -04:00
Dan Halbert
82ab998cd5
Merge pull request #1998 from tannewt/monocolor
Add support for grayscale displays
2019-07-22 22:30:28 -04:00
Scott Shawcroft
7cb2aa2d62
Merge pull request #1986 from AnthonyDiGirolamo/patch-1
Update Arch Linux ARM compiler installation instructions
2019-07-22 19:29:53 -07:00
Dan Halbert
3e04744f75
Merge pull request #2006 from ntavish/patch-1
Fix incorrect preprocessor define NRFX_TIMER3/4
2019-07-22 22:24:03 -04:00
Hierophect
a3673cc79b Set up for new tinyusb integration. Not yet functional. 2019-07-22 17:16:33 -04:00
Hierophect
10aac2be05 Switch to SAMD compatible tinyusb commit 2019-07-22 15:08:58 -04:00
Hierophect
ee75f1aaaf Fix LED misuse interfering with atmel builds 2019-07-22 14:59:06 -04:00
Hierophect
f65404cc05 Cleanup missed items 2019-07-22 13:08:55 -04:00
Hierophect
58630a844a Add feature conditionals and clean up 2019-07-22 12:58:28 -04:00
Tavish Naruka
e4d92a3aad
Fix incorrect preprocessor define NRFX_TIMER3/4
Should be NRF_TIMER3 and NRF_TIMER4
2019-07-22 20:07:05 +05:30
Roy Hooper
31e4591691 WIP: refactor _pixelbuf to use strings instead of classes 2019-07-21 16:37:06 -04:00
Roy Hooper
a62a1ae2bd WIP: refactor _pixelbuf to use strings instead of classes 2019-07-21 16:30:09 -04:00
Roy Hooper
db84445a62 WIP: refactor _pixelbuf to use strings instead of classes 2019-07-21 16:21:39 -04:00
sommersoft
b630e561a7
exclude aliased boards from 'get_board_mapping()' 2019-07-21 12:13:13 -05:00
Carlos
d1fecf5025 Fix missing module sh and remove unused module re 2019-07-20 01:08:22 -05:00
C47D
06cb075025 [travis check new boards] Move script into the before_script section 2019-07-19 18:19:17 -05:00
Scott Shawcroft
1d1b8703b6
Review feedback including NO_BRIGHTNESS_COMMAND macro 2019-07-19 16:11:13 -07:00
Scott Shawcroft
b9b9ef227f
Turn off bitbanging on Hallowing to save code space. 2019-07-19 16:10:33 -07:00
Scott Shawcroft
cdfc169ab6
Correct typo in line meant to turn off frequencyio on M0 which saves 2k code space. 2019-07-19 16:10:32 -07:00
Scott Shawcroft
e4611b6e3e
Update translations 2019-07-19 16:10:25 -07:00
Scott Shawcroft
6797ec6ed3
Add support for grayscale displays that are < 8 bit depth.
This also improves Palette so it stores the original RGB888 colors.

Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.

Fixes #1828. Fixes #1956
2019-07-19 16:06:11 -07:00
C47D
00d91bed32 [travis check new boards] Add command so Travis runs the travis_new_boards_check.py script 2019-07-19 17:01:04 -05:00
C47D
22c265b170 [travis check new boards] Reduce code logic to exit with failure 2019-07-19 16:54:42 -05:00
Hierophect
10b9ca5a92 pin selection cleanup, tinyUSB update 2019-07-19 15:09:45 -04:00
Dan Halbert
dbab5380b2
Merge pull request #1999 from tannewt/turtleboosters
Track a dirty area for in-memory bitmaps
2019-07-19 14:39:06 -04:00
C47D
fc1594104b [travis new boards check] Exit with failure if a board in info isn't in travis 2019-07-19 12:59:04 -05:00
Scott Shawcroft
a98bfa628e
Merge pull request #2002 from ntavish/blip_improvements
Blip improvements
2019-07-19 10:52:08 -07:00
Scott Shawcroft
d9089f52ce
Fix it's -> its 2019-07-19 10:42:20 -07:00
Scott Shawcroft
653f511792
Update translations 2019-07-19 10:38:59 -07:00
C47D
ae41bb369f [travis new boards check] sort both lists of boards 2019-07-19 12:36:13 -05:00
C47D
b279d6b335 [travis new boards check] We now have two lists that contain the boards based on board_info and TRAVIS_BOARDS 2019-07-19 12:11:16 -05:00
C47D
a1db6c4379 [Draft] Add check to travis to make sure new boards are built, fix #1886 2019-07-19 10:01:35 -05:00
Tavish Naruka
724ce4acba enable libraries needed by BlipBoy Shield 2019-07-19 18:48:08 +05:30
Scott Shawcroft
4a6bdb6fe4
Track a dirty area for in-memory bitmaps
This fixes the bug that bitmap changes do not cause screen updates
and optimizes the refresh when the bitmap is simply shown on the
screen. If the bitmap is used in tiles, then changing it will
cause all TileGrids using it to do a full refresh.

Fixes #1981
2019-07-18 16:47:28 -07:00
Hierophect
734012aa8b Makefile cleanup 2019-07-18 17:55:57 -04:00
Hierophect
755b86e38b Deinit-capable USB on 411 2019-07-18 17:17:46 -04:00
Scott Shawcroft
74be29cbf9
Merge pull request #1993 from dhalbert/ble-scanner
bleio: add central and scanner functionality, cleanup bleio API, some code restructure
2019-07-18 10:08:58 -07:00
Hierophect
43e8a4110f Add missing files for DigitalIO 2019-07-17 14:18:01 -04:00
Hierophect
45e73c414a fix gitignore 2019-07-17 14:14:03 -04:00
Hierophect
c588cc6db0 first pass of DigitalIO 2019-07-17 14:07:33 -04:00
Dan Halbert
1c31cf5f6a sphinx fix 2019-07-16 21:03:36 -04:00
Dan Halbert
364ee62d10 Address review comments. 2019-07-16 19:53:36 -04:00
Dan Halbert
cb99546ea5 update frozen libraries 2019-07-11 18:56:29 -04:00
Dan Halbert
12b98be744 merge from master and make translate 2019-07-11 18:42:41 -04:00
Dan Halbert
1cf8a3e8d8 Merge remote-tracking branch 'adafruit/master' into ble-scanner 2019-07-11 18:42:16 -04:00
Dan Halbert
514d4146d3 Fix sphinx warnings. 2019-07-11 18:23:45 -04:00
Hierophect
f31a0d9cf5 Serial REPL support 2019-07-11 13:41:10 -04:00
sommersoft
db702053c3 properly group doc commands so non-doc builds don't fail 2019-07-10 18:32:01 -05:00
siddacious
d12e1a8d74
Merge pull request #1990 from kattni/pyruler
Adding PyRuler to CircuitPython.
2019-07-10 12:28:43 -07:00
Hierophect
a0e6975b9d Add some usb reference material, non functional 2019-07-10 14:26:57 -04:00
Kattni Rembor
582acdaa0a Requested changes. 2019-07-09 16:12:24 -04:00
Kattni Rembor
d905958db1 Adding PyRuler to CircuitPython. 2019-07-09 16:02:39 -04:00
Scott Shawcroft
6fad383367
Merge pull request #1925 from C47D/rgb_status
Initial support for RGB led as Status indicator, fixes #1382
2019-07-09 10:31:34 -07:00
Hierophect
7742a97c22 Add STM32F412-DISCO support, cleanup 2019-07-09 13:03:22 -04:00
Scott Shawcroft
f0cf9a4e75
Merge pull request #1988 from jandjstudios/datum
Add support for boards in the datum series.
2019-07-09 09:33:13 -07:00
Dan Halbert
d8a4f71ec7 translation merges 2019-07-09 09:11:04 -04:00
Dan Halbert
6a001786a9 merge from master 2019-07-09 08:58:49 -04:00
Dan Halbert
ddd4d616db make translate 2019-07-09 08:43:54 -04:00
Dan Halbert
118b26b335 UARTClient now works both directions 2019-07-09 00:21:46 -04:00
C47D
40fbac13cd [rgb status] Adjust to current brightness 2019-07-08 22:06:43 -05:00
jandjstudios
96cf9053f4 Added datum boards to travis.yml 2019-07-08 19:27:14 -07:00
Scott Shawcroft
f4a64a2e80
Merge pull request #1989 from rce1086/master
Added conditional compilation around selection of TX pad candidates
2019-07-08 14:07:04 -07:00
Tavish Naruka
7f97cc1940 Generate .hex for Blip. 2019-07-08 14:16:31 +05:30
C47D
324cbe4327 [rgb status] Also invert the pwm values on clear_temp_status 2019-07-07 21:15:51 -05:00
Scott Shawcroft
380f1d6ae6
Merge pull request #1984 from iot49/uart
changed type of receiver_buffer_size to uint16_t
2019-07-07 18:14:52 -07:00
Carl Elkins
64507207da Added conditional compilation around selection of TX pad candidates
Original code was correct for SAMD21
New code for SAMD51 only permits pad-0 for TX
2019-07-08 02:08:39 +01:00
sommersoft
fce1efc74c more python3.5 compatibility fixes 2019-07-07 09:14:46 -05:00
Dan Halbert
09ddff8df1 WIP: Need descriptors for Central CCCD discovery; not done yet 2019-07-07 00:07:47 -04:00
C47D
fae1039401 [rgb led status] Add CP_RGB_STATUS_PWM_INVERTED symbol to invert pwm signals. 2019-07-06 16:50:48 -05:00
jandjstudios
46b7575550 Initial commit to support boards in the datum series. 2019-07-06 13:41:03 -07:00
Scott Shawcroft
5610e05b8c
Fix up nrf so that it is initialized properly. Also, do not reset
it's pins.
2019-07-06 12:48:16 -07:00
sommersoft
86e885c5fc handle module exclusion when the default is to not include a module 2019-07-05 18:00:26 -05:00
sommersoft
7378744bb2 update regex module use to be python3.5 compatible 2019-07-05 16:11:19 -05:00
iot49
4c72a3991e updated samd and esp8266 ports 2019-07-05 10:01:51 -07:00
Anthony DiGirolamo
55f15e3c05
Update Arch Linux ARM compiler installation instructions
- Add copy-pasteable Arch Linux `arm-none-eabi-gcc` install line similar to Ubuntu example
- Add `arm-none-eabi-newlib` as a required package for Arch
- Reformat Ubuntu and Arch install code-blocks to catch the eye for the impatient

Arch Linux changed their packaging for [arm-none-eabi-gcc](https://www.archlinux.org/packages/community/x86_64/arm-none-eabi-gcc/) by creating [arm-none-eabi-newlib](https://www.archlinux.org/packages/community/any/arm-none-eabi-newlib/) as an optional package. Without it users will get errors about missing header files like:

```
In file included from asf4/samd51/include/samd51j19a.h:49,
                 from asf4/samd51/include/sam.h:38,
                 from ./mpconfigport.h:31,
                 from ../../py/mpconfig.h:45,
                 from ../../py/emitnx64.c:3:
/usr/lib/gcc/arm-none-eabi/9.1.0/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory
    9 | # include_next <stdint.h>
      |                ^~~~~~~~~~
compilation terminated.
```
2019-07-04 11:14:50 -07:00
Chris Osterwood
97e7fea517 Change pin names to be more descriptive 2019-07-04 13:23:57 -04:00
Chris Osterwood
539502c891 Remove pin reservations. Prevents used from inside of CircuitPython code 2019-07-04 13:22:36 -04:00
sommersoft
42ed84141e fix late-night directory snafu 2019-07-04 01:49:40 -05:00
sommersoft
9ccebb0968 run support matrix script on travis 2019-07-04 01:20:25 -05:00
sommersoft
4342383d95 add jinja extension; update shared-bindings/index.rst to use jinja 2019-07-04 01:19:56 -05:00
sommersoft
f1256c0b35 add script to gather module support matrix info; add initial json file 2019-07-04 01:18:16 -05:00
iot49
6e5d70fa19 changed type of receiver_buffer_size to uint16_t 2019-07-03 12:02:01 -07:00
Scott Shawcroft
69460b943b
Merge pull request #1983 from tannewt/fix_group_subscr_delete
Fix Group subscr to detect delete correctly
2019-07-03 09:47:34 -07:00
Dan Halbert
bf8a35b2f8 WIP: CharacteristicBuffer for Central; not working: need to set remote Characteristic Service 2019-07-02 22:34:54 -04:00
Scott Shawcroft
745ff8f8c1
Fix Group subscr to detect delete correctly
Fixes #1957
2019-07-02 18:15:23 -07:00
Scott Shawcroft
2761ae6754
Merge pull request #1978 from pewpew-game/ugame-font
Switch the terminal font for ugame10
2019-07-02 11:52:58 -07:00
Hierophect
040acc3a32 remove dependencies for stable build 2019-07-01 19:47:10 -04:00
Radomir Dopieralski
e45eac5016 Switch the terminal font for ugame10
I designed this really tiny, minimalist font for use on very small
displays. On uGame it lets one see the whole text that CircuitPython
prints on boot. The characters are 4x6 pixels each, and they are
optimized for legibility (large x-height, right angles, blocky shapes).

It might make sense to also use that font in other boards.
2019-07-01 23:05:07 +02:00
Scott Shawcroft
f76021ef82
Merge pull request #1979 from pewpew-game/font-boundingbox
Use FONTBOUNDINGBOX for font metrics
2019-07-01 13:43:29 -07:00
Radomir Dopieralski
7c908b08ee Use FONTBOUNDINGBOX for font metrics
Instead of iterating over all the glyphs and calculating the maximum
width and height, use the FONTBOUNDINGBOX to determine the size of a
tile for terminalio.

This works better with fonts such as generated by FontForge, that don't
include the empty space in the glyph bitmap itself. It also lets the
font author specify vertical spacing they want.

I only tested this with the default font and with one I generated with
FontForge.
2019-06-30 01:10:47 +02:00
Dan Halbert
6ea01ea9b0 Central is connecting; characteristics can be read and written 2019-06-29 00:20:06 -04:00
Hierophect
94a2eff05c remove build, fix link issues) 2019-06-28 19:22:23 -04:00
Hierophect
04a9bc0d35 case changes 2019-06-28 16:45:07 -04:00
Hierophect
b93f93f174 name change but actually 2019-06-28 16:34:27 -04:00
Hierophect
caed59ec64 name change 2019-06-28 16:21:13 -04:00
Hierophect
16ba035ba7 first commit, very crude 2019-06-28 15:36:08 -04:00
Dan Halbert
f0a112ef5d
Merge pull request #1975 from tannewt/merge_in_402
Merge in 4.0.2
2019-06-27 18:48:03 -04:00
Scott Shawcroft
0cce7fcaa3
Merge remote-tracking branch 'adafruit/4.0.x' into merge_in_402 2019-06-27 14:06:26 -07:00
Scott Shawcroft
72ea216dce
Merge pull request #1974 from tannewt/fix_missing_lines
Properly reset the terminal each init.
2019-06-27 13:54:57 -07:00
Dan Halbert
c562b19238
Merge pull request #1972 from tannewt/validate_mpy_load
Validate mpy load
2019-06-26 20:39:50 -04:00
Scott Shawcroft
2004be96ac
Properly reset the terminal each init.
Fixes #1944
2019-06-26 17:36:30 -07:00
Scott Shawcroft
fe507db45f
Shrink pIRkey build down.
Rollback HID to save string space and remove board mapping for
default buses that don't exist.
2019-06-26 16:49:23 -07:00
Scott Shawcroft
1f105e0ac0
Update frozen libraries to save space 2019-06-26 15:10:51 -07:00
sommersoft
f77abbd960
Merge pull request #1973 from tannewt/travis_deploy_keep_alive
Add keep alive to Travis deploy
2019-06-26 17:07:43 -05:00
Scott Shawcroft
6785e0259f
Add keep alive to Travis deploy
Some deploys take over 10 minutes and Travis kills the job. This
workaround is from https://github.com/travis-ci/dpl/issues/568
2019-06-26 11:14:45 -07:00
Scott Shawcroft
6d2072f9cb
Fix tests 2019-06-26 11:02:18 -07:00
Scott Shawcroft
2494bfdc86
Validate raw code and mpy read length 2019-06-25 17:54:27 -07:00
Scott Shawcroft
77355cbb2f
Update translations 2019-06-25 16:52:52 -07:00
Scott Shawcroft
330517bde9
Validate portions of mpy load to detect corruption
Fixes #1917
2019-06-25 15:39:33 -07:00
Scott Shawcroft
d3adfde22a
Merge pull request #1968 from adafruit/4.0.x
Merge in nrf neopixel fix
2019-06-25 11:35:58 -07:00
siddacious
863de45c0a
Merge pull request #1969 from AlexHagerman/design-guide-import-update
Update import statement in design guide code snippet.
2019-06-25 07:43:36 -07:00
Alexander Hagerman
48443c9c3f Update import statement in code snippet.
The code snippets in the Design Guide article reference  without the  statement.
2019-06-25 08:36:44 -04:00
Scott Shawcroft
ecf24420d5
Merge pull request #1963 from dhalbert/nrf-neopixel-fix
nrf: fix neopixel_write pwm buf size calc
2019-06-24 17:31:56 -07:00
Dan Halbert
140904ec84 getting Scanner to work 2019-06-22 22:10:15 -04:00
Dan Halbert
4881e1ff55 WIP: Central compiles; now will test 2019-06-21 18:04:04 -04:00
Dan Halbert
23bd861c9a nrf: fix neopixel_write pwm buf size calc 2019-06-20 18:02:14 -04:00
Dan Halbert
24ac1fdcab WIP: backup only; not compiled 2019-06-19 21:54:28 -04:00
Dan Halbert
3863a6ab8c
Merge pull request #1961 from tannewt/update_frozen
Update frozen libraries
2019-06-19 18:01:05 -04:00
Scott Shawcroft
232e7c7cb0
Merge pull request #1959 from cpforbes/issue1921
Documentation fixes.
2019-06-19 14:05:54 -07:00
Scott Shawcroft
14d0606fa0
update stage too 2019-06-19 12:44:10 -07:00
Scott Shawcroft
7ad229ec27
Merge pull request #1958 from tannewt/pygamer_advanced
Add PyGamer Advance and fix Joystick pins
2019-06-19 12:32:36 -07:00
Scott Shawcroft
a7bed2a74e
Update frozen libraries 2019-06-19 12:23:15 -07:00
Scott Shawcroft
edecddcb33
Merge pull request #1946 from C47D/master
[locale spanish] Update spanish translation.
2019-06-19 11:02:43 -07:00
Dan Halbert
a1b5d800f3 Update copyrights; get ready for Central 2019-06-19 10:42:36 -04:00
Dan Halbert
35b9191857 Don't operate directly on bleio objects in shared-bindings: use common_hal
routines instead. Changes made but not yet tested.
2019-06-18 23:46:20 -04:00
Scott Shawcroft
5e5252ced0
Merge pull request #1955 from pewpew-game/pygamer-stage
Add support for PyGamer to Stage library
2019-06-18 18:23:08 -07:00
Craig Forbes
09e7f4db00 Fix reference to Bitmap in fontio.Glyph docs. 2019-06-18 18:44:50 -05:00
Craig Forbes
e442efbdec Fix docs in digitalio. 2019-06-18 16:59:05 -05:00
Craig Forbes
0bb92d4fc3 Fix references to cpython in builtins documentation. 2019-06-18 16:59:05 -05:00
Craig Forbes
db74b92e77 Fix displayio.Display docstring type for display_bus.
Add docs for group parameter for Display.show.
2019-06-18 16:59:05 -05:00
Craig Forbes
d852d0f043 Explicitly set the locale when sorting translation files. 2019-06-18 16:59:05 -05:00
Scott Shawcroft
352bf7eaf5
Add PyGamer Advance and fix Joystick pins 2019-06-18 12:22:20 -07:00
Scott Shawcroft
13c3d06c6a
Merge pull request #1952 from tannewt/fixup_tilegrid_dirty
Fix TileGrid's dirty tracking when changing top left
2019-06-18 10:29:12 -07:00
Scott Shawcroft
e6ded8dd22
Merge pull request #1953 from tannewt/expose_baudrate
Add baudrate to FourWire and shorten delay.
2019-06-18 10:28:47 -07:00
Radomir Dopieralski
5803245009 Add support for PyGamer to Stage library 2019-06-18 19:05:51 +02:00
Dan Halbert
1356819de1 Handle None for BLE name; fix ScanEntry bug; compile issue 2019-06-17 23:16:40 -04:00
C47D
b11cbbaa55 [locale es.po] Fix errors 2019-06-17 21:01:22 -05:00
Scott Shawcroft
2dddccb99e
Update board inits for new api. 2019-06-17 18:03:30 -07:00
Scott Shawcroft
4013bcde9e
Add baudrate to FourWire and shorten delay. 2019-06-17 17:48:05 -07:00
Scott Shawcroft
7490adf8e9
Use width for x. Thanks @deshipu 2019-06-17 16:23:38 -07:00
Scott Shawcroft
da3d75f7b1
Fix TileGrid's dirty tracking when changing top left 2019-06-17 16:23:37 -07:00
Scott Shawcroft
c4170d2f18
Merge pull request #1945 from brentru/add-pybadge-airlift
Add PyBadge AirLift
2019-06-17 14:26:26 -07:00
brentru
ea2c068e11 COLMOD is 1 param, remove CASET/RASET in CircuitPython 2019-06-17 11:20:25 -04:00
Scott Shawcroft
cde8000f66
Merge pull request #1948 from cpforbes/issue1937
Create a /lib directory when creating the filesystem.
2019-06-16 23:29:46 -07:00
C47D
32462a6e83 [locale spanish] update translation with make translate 2019-06-15 09:30:25 -05:00
C47D
06f9e94ff7 [locale spanish] Update spanish translation. 2019-06-15 01:02:40 -05:00
brentru
6a37f4f7b1 added board to fastest travis_boards 2019-06-14 16:46:42 -04:00
Craig Forbes
99bcb4e2a4 Create a /lib directory when creating the filesystem. 2019-06-14 15:41:32 -05:00
brentru
207dc885a6 removed incorrect gamma code, looks better now 2019-06-14 16:34:30 -04:00
brentru
4092294e7c tft working init. sequence, still undersaturated 2019-06-14 16:17:05 -04:00
brentru
0bc74172a2 Add pybadge airlift, sans-tft 2019-06-14 14:46:19 -04:00
Dan Halbert
cfa8b4b5a9 Merge remote-tracking branch 'adafruit/master' into ble-scanner 2019-06-13 22:01:46 -04:00
Dan Halbert
bed6d43a76 merge from upstream; WIP redo Address; no more AddressType 2019-06-13 21:55:07 -04:00
Scott Shawcroft
6d388a34eb
Merge pull request #1943 from adafruit/4.0.x
Merge in gamepadshift fix to master.
2019-06-13 12:26:04 -07:00
Dan Halbert
6be7cf7440
Merge pull request #1940 from tannewt/dirty_area
Add partial display update support.
2019-06-13 08:29:12 -04:00
Scott Shawcroft
6f6dcafd90
Minor tweaks based on Dan's feedback 2019-06-13 00:34:19 -07:00
Scott Shawcroft
d2ec43113e
Update BusDevice to save space. 2019-06-12 14:22:57 -07:00
Scott Shawcroft
076a3f8a9b
Merge pull request #1939 from pewpew-game/gamepad-clear
When clearing gamepad buffer, use the last button state, not 0
2019-06-12 13:22:00 -07:00
Scott Shawcroft
0b1f605a9b
Turn off gc opt for more M0 boards 2019-06-12 13:20:21 -07:00
Radomir Dopieralski
5e265f4fbd
When clearing gamepad buffer, use the last button state, not 0
When reading the accumulated button presses in gamepad and gamepadshift,
don't clear the buffer to "no buttons pressed", but instead set it to
the current (last checked) state. This clears the accumulated presses,
but retains any ongoing ones.

This fixes #1935
2019-06-12 11:42:41 -07:00
Scott Shawcroft
a91ad05774
Change to one lto partition for ultimate optimization. 2019-06-12 11:37:46 -07:00
Scott Shawcroft
a35d9b469d
Refactor deinit check to reduce code size. 2019-06-12 11:36:43 -07:00
Scott Shawcroft
6db4f45754
Update translations 2019-06-12 11:32:40 -07:00
Scott Shawcroft
eb21fc3e31
Add partial display update support.
Different operations to the display tree have different costs. Be
aware of these costs when optimizing your code.
* Changing tiles indices in a TileGrid will update an area
covering them all.
* Changing a palette will refresh every object that references it.
* Moving a TileGrid will update both where it was and where it moved to.
* Adding something to a Group will refresh each individual area it
covers.
* Removing things from a Group will refresh one area that covers all
previous locations. (Not separate areas like add.)
* Setting a new top level Group will refresh the entire display.

Only TileGrid moves are optimized for overlap. All other overlaps
cause sending of duplicate pixels.

This also adds flip_x, flip_y and transpose_xy to TileGrid. They
change the direction of the pixels but not the location.

Fixes #1169. Fixes #1705. Fixes #1923.
2019-06-12 11:32:39 -07:00
Scott Shawcroft
a06a97e2cb
Merge pull request #1934 from dhalbert/vm-computed-goto
Turn on MICROPY_OPT_COMPUTED_GOTO for 5x CPU-bound speedup
2019-06-12 11:25:43 -07:00
Dan Halbert
ba1b36a800 Uncomment vm.c SUPEROPT (debugging typo); trim a few builds 2019-06-12 13:09:09 -04:00
Dan Halbert
1bb4fccc3b Turn off SUPEROPT on gc.c instead of trying to squueze inline limit so much; reorganize mpconfigboard.mk files 2019-06-12 11:08:22 -04:00
Dan Halbert
0b3f29780a shrink a bunch of builds to fit 2019-06-11 18:46:06 -04:00
Dan Halbert
aa3316b619 Merge remote-tracking branch 'adafruit/master' into vm-computed-goto 2019-06-11 18:01:04 -04:00
Dan Halbert
541c2a70ac
Merge pull request #1938 from dhalbert/4.0.x-merge-to-master-2019-06-11
Merge latest 4.0.x changes to master
2019-06-11 17:43:22 -04:00
Dan Halbert
4fc189b60c Merge latest 4.0.x fixes into master 2019-06-11 16:16:29 -04:00
Dan Halbert
036e7a332b
Merge pull request #1936 from dhalbert/git-checkout-latest-tag.sh
forgot tools/git-checkout-latest-tag.sh in PR #1909
2019-06-11 16:11:56 -04:00
Dan Halbert
5164a6eb26 forgot tools/git-checkout-latest-tag.sh in PR #1909 2019-06-11 15:22:32 -04:00
Dan Halbert
ea760c042b Turn on MICROPY_OPT_COMPUTED_GOTO for 5x CPU-bound speedup 2019-06-11 12:43:48 -04:00
Scott Shawcroft
c85e111675
Merge pull request #1931 from LOGre/master
Added pin for SD CS
2019-06-10 16:41:03 -07:00
Dan Halbert
6fed24e1b6 WIP 2019-06-10 07:18:28 -04:00
shazz
9c49af0597 Added pin for SD CS 2019-06-08 12:04:27 -04:00
sommersoft
9e4396bdcd
Merge pull request #1920 from tannewt/fix_rst
Improve rST consistency for rst2pyi use
2019-06-07 23:41:00 -05:00
Scott Shawcroft
fecd3f835b
Merge pull request #1928 from dhalbert/gc-display-objects
Include display objects in gc
2019-06-06 15:47:10 -07:00
Dan Halbert
62de2506e4 Include display objects in gc. 2019-06-06 17:49:32 -04:00
Scott Shawcroft
84e89146d0
Merge pull request #1893 from elvis-epx/ps2
Add PS/2 support with ps2io module
2019-06-06 10:24:04 -07:00
Scott Shawcroft
a6ad332436
Merge pull request #1927 from baorepo/patch-1
This __init__.h should be redundant. I deleted it for you
2019-06-06 08:36:01 -07:00
Baozhu Zuo
f45daae09c
This __init__.h should be redundant. I deleted it for you 2019-06-06 15:44:29 +08:00
Dan Halbert
1905d90eaa Make advertising data buffers long-lived 2019-06-05 20:08:53 -04:00
Scott Shawcroft
8f57841593
Merge pull request #1926 from C47D/fix_wav_samplerate
[shared-module/audioio/WaveFile.h] Change sample_rate from uint16_t t…
2019-06-05 10:07:08 -07:00
Carlos
671178c8c4 [shared-module/audioio/WaveFile.h] Change sample_rate from uint16_t to uint32_t so it matches the sample rate type parsed from the WAV header format, fix #1922 2019-06-04 21:31:30 -05:00
Carlos
9de46f3edd [supervisor/shared/rgb_led_status.c] Initial support for RGB led as Status 2019-06-04 21:22:38 -05:00
Elvis Pfützenreuter
1da8d4b4da Add PS/2 support -- ps2io module 2019-06-04 18:05:46 -03:00
Scott Shawcroft
c90ce2b9fa
Merge pull request #1907 from ntavish/blip_support
boards: add support for Electronut labs Blip
2019-06-04 13:32:27 -07:00
Tavish Naruka
4a7122d354 boards: add support for Electronut labs Blip
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
2019-06-05 00:49:29 +05:30
Scott Shawcroft
c5a4e19d6f
Merge pull request #1915 from jreese/rst2pyi
Use rst2pyi to generate type stubs and package
2019-06-04 11:39:03 -07:00
Dan Halbert
613e12f99f Replace Broadcaster with enhanced Peripheral 2019-06-03 20:40:05 -04:00
Dan Halbert
63ac37946d 1. Remove advertising data construction in C: it's all done in Python now
2. Add scan response capability to advertising.
2019-06-02 23:21:30 -04:00
John Reese
e8521c8379 Clean up egg-info directory as well 2019-06-02 15:12:29 -07:00
John Reese
f831d84435 Update maintainer/email for stub package, bump rst2pyi dep 2019-06-02 15:08:48 -07:00
Dan Halbert
bcda5e133d
Merge pull request #1903 from tannewt/get_area
Rework the pixel computation to use areas
2019-05-31 21:27:06 -04:00
Scott Shawcroft
5d0791cafb
Fix off-by-one error
It caused the bottom and right edges to be one pixel short.
2019-05-31 15:50:55 -07:00
Dan Halbert
12f1d9d30c fix advertisement length check; add Service.secondary attribute 2019-05-31 18:03:05 -04:00
Scott Shawcroft
cfe24b8532
Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
Scott Shawcroft
cbb102f541
Merge pull request #1909 from dhalbert/update-frozen-4.0.x
Update frozen libs; implement clean builds for translations which need it
2019-05-30 13:51:12 -07:00
Dan Halbert
812a31c78f
Merge pull request #1916 from jpecor/patch-2
Removed warning box regarding SAMD21 builds
2019-05-28 09:16:34 -04:00
Dan Halbert
71c7aca29c Add top-level Makefile target to update frozen libs easily; Update CPX lib 2019-05-28 09:09:00 -04:00
Jason Pecor
a9a2227167
Removed warning box regarding SAMD21 builds
The support matrix shows that pulseio is supported for all SAMD21/SAMD51 variants. Removing warning to avoid confusion.
2019-05-27 14:08:19 -05:00
John Reese
7f7665c1c0 Use rst2pyi to generate type stubs and package 2019-05-25 21:32:06 -07:00
Dan Halbert
4e85c1ef91 Implement forced clean builds for boards so designated.
Mark boards that set CFLAGS_INLINE_LIMIT for particular langauges as needing clean builds.

Fixes #1910.
2019-05-24 15:32:24 -04:00
Dan Halbert
6cec81bcb5 Need to enable ble before scanning 2019-05-23 22:05:16 -04:00
Dan Halbert
e84f3b1c6a make crickit cpx pinyin build fit 2019-05-23 21:22:50 -04:00
Dan Halbert
b5fc646e3d Update frozen libs 2019-05-23 16:16:14 -04:00
Dan Halbert
1639354e5f Scanner working, but not very first time 2019-05-23 16:07:54 -04:00
Scott Shawcroft
63b253c33a
Merge pull request #1906 from adafruit/4.0.x
Merge in all bug fixes from 4.0.1 into master
2019-05-22 15:23:24 -07:00
Scott Shawcroft
7a117f52ed
Make point 2 in areas exclusive and simplify full_coverage. 2019-05-22 15:00:47 -07:00
Scott Shawcroft
32b0f1c78e
Merge pull request #1904 from pewpew-game/4.0.x
Bump circuitpython-stage to 1.0.2
2019-05-22 12:54:16 -07:00
Radomir Dopieralski
9ae3d92179 Bump circuitpython-stage to 1.0.2
This fixes an OverflowError in the read_palette function.

(cherry picked from commit 4ebcca865cbda4b08dc917581438473f625e2a12)
2019-05-22 18:58:09 +02:00
Scott Shawcroft
3fad7de8db
Rework the pixel computation to use areas
This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(#1169). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.
2019-05-21 17:41:06 -07:00
Scott Shawcroft
70e0b5c0d0
Merge pull request #1896 from dhalbert/round-int-4.0.x
Enable MICROPY_PY_BUILTINS_ROUND_INT; make round() work better when flag is disabled
2019-05-21 13:55:38 -07:00
Dan Halbert
b71f6c97ce Merge remote-tracking branch 'adafruit/master' into ble-scanner 2019-05-21 15:33:48 -04:00
Dan Halbert
0199d9810b Make pinyin fit on cpx 2019-05-21 15:18:56 -04:00
Dan Halbert
da77eedafa Enable MICROPY_PY_BUILTINS_ROUND_INT; make round() work beter when it's disabled as well 2019-05-17 15:56:40 -04:00
Dan Halbert
ee8119779e WIP 2019-05-17 15:47:12 -04:00
Scott Shawcroft
aae7cb3eb0
Merge pull request #1894 from adafruit/tannewt-patch-5
Auto-build pygamer
2019-05-17 12:40:07 -07:00
Scott Shawcroft
c9a87eb7fd
Auto-build pygamer 2019-05-17 11:02:18 -07:00
Dan Halbert
2abf99aa32
Merge pull request #1892 from dhalbert/pid-errors-4.0.x
correct USB PIDs for several boards
2019-05-16 10:56:30 -04:00
Dan Halbert
008bbc944c correct USB PIDs for several boards 2019-05-16 10:54:15 -04:00
sommersoft
bd17fc12ac
Merge pull request #1889 from TG-Techie/patch-1
fixing showing rst tags
2019-05-15 21:36:00 -05:00
TG-Techie
a7e97405e2
Update README.rst 2019-05-15 21:34:14 -04:00
TG-Techie
0d64ddaf84
fixing showing rst tags 2019-05-15 21:22:40 -04:00
Dan Halbert
a888fe4c8e
Merge pull request #1888 from tannewt/iterable_group
Improvements to Group
2019-05-15 18:40:32 -04:00
Scott Shawcroft
00c39805f1
Remove old comment 2019-05-15 14:17:09 -07:00
Scott Shawcroft
5608e273a0
Add index and remove to Group. 2019-05-15 11:33:16 -07:00
Scott Shawcroft
b7b55e0c0a
Make Group iterable via a generic native iterator.
Fixes #1694
2019-05-14 15:15:23 -07:00
Scott Shawcroft
bd69212a19
Merge pull request #1885 from adafruit/tannewt-patch-11
Have travis build capablerobot_usbhub
2019-05-14 15:11:58 -07:00
Scott Shawcroft
acfabab751
Have .travis build capablerobot_usbhub 2019-05-14 14:00:14 -07:00
Scott Shawcroft
f3ab820fc2
Merge pull request #1884 from CapableRobot/capablerobot-usbhub
Added board definition for Capable Robot Programmable USB Hub
2019-05-14 13:42:51 -07:00
Dan Halbert
d3ce9280e2
Merge pull request #1883 from tannewt/fix_1881
Check native object in case of early access
2019-05-14 15:30:44 -04:00
Chris Osterwood
a0497553fc Fix to prevent critical pins from being reset when MCU restarts or enters REPL 2019-05-14 15:23:33 -04:00
Scott Shawcroft
e74f5d5d76
Have xargs expect null termination 2019-05-14 10:42:52 -07:00
Chris Osterwood
420dbafa9d Added board definition for Capable Robot Programmable USB Hub 2019-05-14 13:28:24 -04:00
Scott Shawcroft
bf682d14b3
Remove native init check from stage.
It isn't needed because the object is passed in, not self. To be
passed in it must be inited.
2019-05-14 10:20:04 -07:00
Scott Shawcroft
c6c6171472
Merge pull request #1874 from matt-land/patch-1
Add documentation for Palette shared binding
2019-05-14 09:56:50 -07:00
Matt Land
0b1c1c1d92
Update Palette.c
Remove None, add in byte and bytearray examples
2019-05-14 08:03:34 -05:00
Dan Halbert
2fdaabd02c
Merge pull request #1882 from ElectronicCats/master
Fix pin lost
2019-05-13 22:29:18 -04:00
Scott Shawcroft
6756821fd9
Update translations and sort input files
This should stabilize the sort of files in the .po files.

Fixes #1871
2019-05-13 18:04:53 -07:00
Scott Shawcroft
f29de51325
Check native object in case of early access
If a native displayio object is accessed before it's super().__init__()
has been called, then a placeholder is given that will cause a crash if
accessed. This is tricky to get right so we detect this case and raise
a NotInplementedError instead of crashing.

Fixes #1881
2019-05-13 17:31:30 -07:00
Scott Shawcroft
a6785d7ff7
Merge pull request #1876 from cpforbes/gcc9
Backport fix for building ports/unix with gcc9 from micropython
2019-05-13 09:36:54 -07:00
Scott Shawcroft
52a8150df3
Merge pull request #1877 from pewpew-game/master
Bump circuitpython-stage to 1.0.1
2019-05-13 09:34:49 -07:00
Scott Shawcroft
d845ce9eee
Merge pull request #1878 from jreese/docs-reqs
Include sphinx and recommonmark in docs/requirements.txt
2019-05-13 09:33:07 -07:00
Scott Shawcroft
589755e1bf
Merge pull request #1879 from dhalbert/bytearray-array-range-fixes
Handle truth values; speed up smallint checks
2019-05-13 09:31:28 -07:00
sabas1080
9f082ba5cb Fix pin lost 2019-05-13 10:18:53 -05:00
Dan Halbert
8664a6574b use approx of original @godlygeek code for smallints; add tests 2019-05-12 11:17:29 -04:00
John Reese
99164a9a13 Pin dependencies to force sphinx 1.8.5 2019-05-11 21:24:39 -07:00
Dan Halbert
d103ac1d63 Handle truth values; speed up smallint checks 2019-05-12 00:10:53 -04:00
John Reese
63c720bcfb Include sphinx and recommonmark in docs/requirements.txt 2019-05-11 19:58:10 -07:00
Radomir Dopieralski
31e5e6ea98 Bump circuitpython-stage to 1.0.1 2019-05-11 22:42:09 +02:00
Damien George
b3939e2513 lib/utils/printf: Exclude __GI_vsnprintf alias for gcc 9 and above.
See issue #4457.
2019-05-11 00:31:40 -05:00
Matt Land
ad211b23be
add documentation of transparency 2019-05-10 17:35:51 -05:00
Matt Land
214dfed703
Add documentation for Palette shared binding
Add documentation for the palette subscript operator and how to use it.
2019-05-10 16:41:13 -05:00
Scott Shawcroft
36e2faf8d2
Merge pull request #1873 from ElectronicCats/escornabot_makech
Add Escornabot Makech of Electronic Cats
2019-05-10 12:39:58 -07:00
Scott Shawcroft
da2c88eaac
Merge pull request #1860 from godlygeek/int_to_bytes_overflow_checks
Add overflow checks for int to bytes conversions
2019-05-10 12:23:31 -07:00
sabas1080
8663de5586 add travis 2019-05-10 13:52:00 -05:00
sabas1080
d174ce8821 Update pins define 2019-05-10 13:34:02 -05:00
Scott Shawcroft
46164c6ec6
Merge pull request #1837 from nickzoic/circuitpython-nickzoic-1800-wiznet-socket
WIP: Circuitpython nickzoic 1800 wiznet socket
2019-05-10 11:31:18 -07:00
Scott Shawcroft
67007282c9
Tighten down inlining on the pIRkey 2019-05-10 11:19:27 -07:00
Scott Shawcroft
03e000c4be
Merge pull request #1866 from rafa-gould/spanish_trans
Spanish Translation
2019-05-10 10:25:05 -07:00
Scott Shawcroft
1d7a49d9de
Merge remote-tracking branch 'adafruit/master' into int_to_bytes_overflow_checks 2019-05-10 10:20:57 -07:00
Scott Shawcroft
80a752da87
Merge latest adafruit/master in. 2019-05-10 10:09:56 -07:00
Nick Moore
0d08dde62e randomize tcp source port for adafruit/circuitpython#1800 2019-05-10 13:56:33 +10:00
Nick Moore
af0bba0622 reset wiznet at network deinitialize adafruit/circuitpython#1800 2019-05-10 13:55:45 +10:00
Dan Halbert
dae8b21bb9
Merge pull request #1869 from tannewt/fix_programmatic_safe_mode
Update `on_next_reset` for new safe mode.
2019-05-09 23:03:39 -04:00
Dan Halbert
23145137be
Merge pull request #1872 from tannewt/fix_1839
Handle -scale to 0 correctly in Group
2019-05-09 22:21:40 -04:00
Matt Wozniski
1d0c61642b Reverse int to bytes buffer overflow conditionals
Rather than jumping to a label when an overflow is known to have
occurred, return early when one is known not to have.
2019-05-09 22:03:12 -04:00
Nick Moore
e00a702ce9 Stop DHCP when configuring IP address adafruit/circuitpython#1800 2019-05-10 09:20:57 +10:00
Scott Shawcroft
e64bbc41ec
Handle -scale to 0 correctly in Group
Fixes #1839
2019-05-09 11:38:30 -07:00
Scott Shawcroft
7bfee580b1
Merge pull request #1861 from mchua/patch-1
fix #1833, replace expired discord link
2019-05-09 10:45:43 -07:00
Scott Shawcroft
b87565138e
Rework safe mode so we can trigger on all resets 2019-05-09 10:15:28 -07:00
Scott Shawcroft
4863574a4d
Make https 2019-05-09 09:53:31 -07:00
Matt Wozniski
fb7bb40575 Update translations 2019-05-09 03:23:25 -04:00
Matt Wozniski
f325bd848b Use OverflowError exception type for overflows
Initially I used one of the existing exception raise functions, but it's
more correct and not much more code to raise OverflowError instead.
2019-05-09 03:22:26 -04:00
Matt Wozniski
095c844004 Add overflow checks for int to bytes conversions
For both small and long integers, raise an exception if calling
struct.pack, adding an element to an array.array, or formatting an int
with int.to_bytes would overflow the requested size.
2019-05-09 03:22:25 -04:00
Matt Wozniski
e041df73bb Add tests for overflows converting ints to bytes 2019-05-09 03:22:24 -04:00
Rafa Gould
a89ac96485 wording fixes 2019-05-08 21:14:35 -04:00
Scott Shawcroft
9ce042ad07
Merge pull request #1865 from terriko/mpy_error
Make status light flash blue for incompatible mpy (fixes #1369)
2019-05-08 20:22:59 -04:00
Dan Halbert
019254a9d2
Merge pull request #1870 from tannewt/fix_nrf_internal_flash_crash
Fix crash in internal filesystem on nrf
2019-05-08 19:41:17 -04:00
Dan Halbert
839bac47d4
Merge pull request #1867 from tannewt/hide_reload_traceback
Hide the traceback for the ReloadException.
2019-05-08 19:40:55 -04:00
Scott Shawcroft
9feb844b7e
Fix crash in internal filesystem on nrf
Fixes #1842
2019-05-08 15:43:18 -07:00
Scott Shawcroft
837d3f57ee
Update on_next_reset for new safe mode.
Fixes #1831
2019-05-08 15:23:40 -07:00
Scott Shawcroft
6440af5c06
Hide the traceback for the ReloadException.
Many users think it's an error when it's us simply stopping the
code.
2019-05-08 14:53:20 -07:00
Terri Oda
8d9c2f3e9d Make MpyError a ValueError (since that's what it was before) 2019-05-08 13:58:31 -07:00
sabas1080
27ea1df710 Init escornabot 2019-05-08 15:48:17 -05:00
Rafa Gould
082cd7a64b Grammar and Translations 2019-05-08 15:10:51 -04:00
Rafa Gould
eadab914f6 Added translations and did grammar fixes 2019-05-08 15:07:44 -04:00
Rafa Gould
54b4a20ca2 added translations 2019-05-08 14:57:15 -04:00
Terri Oda
a9b05d37d7 Make status light flash blue for incompatible mpy (fixes #1369) 2019-05-08 11:54:08 -07:00
Scott Shawcroft
bec84f20ab
Merge pull request #1859 from scottbelden/tabbing
enter four spaces when there are no matches
2019-05-08 14:49:11 -04:00
Scott Shawcroft
9ba8191a04
Merge pull request #1855 from dhalbert/frequencyin-no-double-arith
avoid double float arithmetic in FrequencyIn
2019-05-08 14:40:18 -04:00
Rafa Gould
559635a2eb
Added translations 2019-05-08 14:02:59 -04:00
Scott Shawcroft
909210e00d
Merge pull request #1850 from katlings/filter-underscores
Filter private methods from tab completion
2019-05-08 13:47:29 -04:00
Scott Shawcroft
6e842aa66f
Merge pull request #1853 from rafa-gould/spanish_trans
Spanish Translation Grammar Fixes and Added Translations
2019-05-08 13:42:31 -04:00
siddacious
04b5c8c867
Merge pull request #1863 from ElectronicCats/fix_VID_Cats
fix VID and PID inverted in Electronic Cats Boards
2019-05-08 11:03:15 -05:00
sabas1080
08a170388d fix VID and PID inverted 2019-05-08 10:09:49 -05:00
Rafa Gould
7cfe4783ee Fixed brightness issue 2019-05-08 09:43:57 -04:00
Mel Chua
493fe971b5
fix #1833, replace expired discord link
The footer already links directly to https://adafru.it/discord, which seems like a more permanent location. I've just replaced the expired link at the top with the same thing.
2019-05-07 22:26:00 -04:00
scottbelden
786cb40073 enter four spaces when there are no matches 2019-05-07 13:55:20 -04:00
Rafa Gould
b7a79dac5d
Created Korean Translations 2019-05-07 13:53:55 -04:00
Rafa Gould
662a98a2a6 Make Translate 2019-05-07 13:05:28 -04:00
Kathryn Lingel
eb3cb4d99b Fix tests and clarify first character access 2019-05-07 09:30:55 -07:00
Rafa Gould
1ad20cf69b More Debugging 2019-05-07 11:12:02 -04:00
Rafa Gould
27ab71bea5 Debugging 2019-05-07 11:08:55 -04:00
Rafa Gould
86ac94bb6e Almost done with translations, just a dfew left 2019-05-07 10:24:33 -04:00
Rafa Gould
aa0a65b197 Fixes to syntax 2019-05-07 09:53:24 -04:00
Nick Moore
832f07a6e9 Update docs for wiznet5k adafruit/circuitpython#1800 2019-05-07 21:48:44 +10:00
Nick Moore
264fc2b070 Make wiznet5k RST pin optional adafruit/circuitpython#1800 2019-05-07 18:41:53 +10:00
Nick Moore
24934a1e8a Clean up list of NICs on network deinit adafruit/circuitpython#1800 2019-05-07 18:20:08 +10:00
Dan Halbert
f59dadbb4f avoid double float arithmetic in FrequencyIn 2019-05-07 00:25:22 -04:00
Kathryn Lingel
33b5cff8db Correct output expectation 2019-05-06 15:13:28 -07:00
Kathryn Lingel
77f177be9c Update tests for new autocomplete behavior 2019-05-06 14:19:07 -07:00
987695
a27bc6c90a Fixed spanish grammar errors 2019-05-06 16:13:44 -04:00
987695
d6f9fcc8f8 Fixed translation issues 2019-05-06 15:49:45 -04:00
Kathryn Lingel
54aa1ce6de Filter private methods from tab completion 2019-05-06 12:16:29 -07:00
Scott Shawcroft
4e0c18ee1f
Merge pull request #1847 from rafa-gould/master
Fixed grammatical errors involving "o" and "ó" and numbers
2019-05-06 15:13:36 -04:00
987695
eaa689f477 Fixed grammatical errors involving "o" and "ó" and numbers 2019-05-06 13:55:16 -04:00
Scott Shawcroft
ccd22ab26a
Merge pull request #1844 from fezthedev/traduzione-italiano
Added some more Italian translations
2019-05-06 13:34:12 -04:00
Fezthedev
b9b6f0dc4c Added newline that was causing build fails 2019-05-06 12:24:18 -04:00
Fezthedev
cfd80761a3 Added some more italian translations 2019-05-06 10:06:39 -04:00
Limor "Ladyada" Fried
1a8e50c773
Merge pull request #1840 from saxenanurag/patch-1
Fix hyperlink to circuitpython.org
2019-05-04 23:22:40 -04:00
Anurag Saxena
6b45c85978
Fix hyperlink to circuitpython.org
Currently the link goes to: https://github.com/circuitpython.org
2019-05-04 16:14:43 -04:00
Nick Moore
d97c81b0c9 Update docs to include new 'dhcp' constructor parameter 2019-05-02 19:14:22 +10:00
Nick Moore
baa9c02c8b Add a kw-only argument "dhcp" to wiznet5k object 2019-05-02 16:05:33 +10:00
Nick Moore
09d0e99d5b assign variable socket number to DHCP 2019-05-02 16:05:33 +10:00
Nick Moore
09b83e96b3 Avoid socket #0 used by DHCP 2019-05-02 14:32:35 +10:00
Nick Moore
58d1d99701 Fix socket.recv() buffer length from e23bad3a 2019-05-02 13:13:56 +10:00
Dan Halbert
dc7603155d
Merge pull request #1836 from dhalbert/pybadge-audiobusio
restore audiobusio to pybadge
2019-04-29 22:59:19 -04:00
Dan Halbert
6f6a964e7e
Merge pull request #1832 from ladyada/master
pygamer definition & autobuild
2019-04-29 21:36:51 -04:00
Dan Halbert
eb021157f8 restore audiobusio to pybadge 2019-04-29 21:17:02 -04:00
ladyada
740c4193a8 Merge branch 'master' of github.com:ladyada/circuitpython 2019-04-29 20:33:50 -04:00
ladyada
ed8e6e8f45 re-add i2s (its J not G!) 2019-04-29 20:30:53 -04:00
ladyada
fa3a52bc1e similar to pybadge, has pin defs for joystick - comes up with filesys and display so good enough to start hacking :) 2019-04-29 20:29:48 -04:00
Scott Shawcroft
c960f8cec4
Move pygamer to first job 2019-04-29 10:17:49 -07:00
Scott Shawcroft
06db5379b0
Merge pull request #1829 from robotics-masters/wallarug/robohatmm1
Added robohatmm1 board defs.
2019-04-29 08:46:43 -07:00
wallarug
25a468799f Merge branch 'wallarug/robohatmm1' of https://github.com/robotics-masters/circuitpython into wallarug/robohatmm1
Merging after changing board build.
2019-04-28 00:09:32 +10:00
wallarug
aa3c28787c removed problem libraries from frozen build. 2019-04-28 00:09:13 +10:00
wallarug
be96b09623
removed from list one. 2019-04-27 23:57:57 +10:00
wallarug
0ff68d67e8
Added to first and third travis.yml 2019-04-27 23:55:48 +10:00
wallarug
b4a70daf17 updated lots 2019-04-27 22:35:12 +10:00
ladyada
b852087d27 similar to pybadge, has pin defs for joystick - comes up with filesys and display so good enough to start hacking :) 2019-04-26 20:58:25 -04:00
wallarug
cd4aaa13a3 added robohatmm1 board defs. 2019-04-25 21:13:41 +10:00
Scott Shawcroft
e072f0d893
Merge pull request #1827 from adafruit/tannewt-patch-10
Add Electronut to build automatically
2019-04-24 11:34:47 -07:00
Scott Shawcroft
a995d4c968
Add Electronut to build automatically 2019-04-24 10:33:34 -07:00
Scott Shawcroft
681bfcbb41
Merge pull request #1823 from ladyada/master
fix up pybadge for final release board (swap backlite and reset)
2019-04-23 16:13:38 -07:00
ladyada
9b593cd154 update periph submodule 2019-04-23 18:20:13 -04:00
ladyada
a5697470e1 fix up pybadge for final release board (swap backlite and reset) 2019-04-23 16:43:20 -04:00
Dan Halbert
b87ce5bf9e
Merge pull request #1822 from tannewt/update_frozen
Update stage with 1.0.0 release
2019-04-23 13:53:56 -04:00
Scott Shawcroft
b5508ed832
Update stage with 1.0.0 release 2019-04-23 09:58:14 -07:00
Dan Halbert
4a251158a9
Merge pull request #1821 from dhalbert/ble-notify-max
Off-by-one error for usage of MAX_TX_IN_PROGRESS
2019-04-22 23:27:20 -04:00
Dan Halbert
15b7946fc4 Off-by-one error for usage of MAX_TX_IN_PROGRESS 2019-04-22 22:07:48 -04:00
Dan Halbert
03f9048778
Merge pull request #1816 from tannewt/stage_crash
Correct collect of permanent pointers.
2019-04-18 20:25:12 -04:00
Scott Shawcroft
f548305c07
Merge pull request #1815 from dhalbert/stop-flicker
Turn off auto_brightness if brightness is set
2019-04-18 15:48:39 -07:00
Scott Shawcroft
54ef87c6de
Correct collect of permanent pointers.
The previous implementation managed to keep all but the head
pointer of the list.

Fixes #1814
2019-04-18 15:44:44 -07:00
Dan Halbert
0113e0970e add Display.__init__() args for brightness and auto_brightness 2019-04-18 15:59:16 -04:00
Dan Halbert
4fc0f8b25c Turn off auto_brightness if brightness is set 2019-04-18 13:57:27 -04:00
Scott Shawcroft
70dd6167c0
Merge pull request #1811 from tannewt/doc_build_tweak
Tweak RTD to install svg2pdfconverter
2019-04-17 21:00:21 -07:00
Scott Shawcroft
5f5e456e58
Tweak RTD to install svg2pdfconverter 2019-04-17 18:22:19 -07:00
Dan Halbert
00379dbb7e
Merge pull request #1810 from tannewt/black_line_ondisk
Fix off by one error in OnDiskBitmap
2019-04-17 20:27:31 -04:00
Dan Halbert
fcfafe6ced
Merge pull request #1809 from tannewt/board_i2c_crash_v2
Unify VM cleanup code
2019-04-17 20:25:12 -04:00
Scott Shawcroft
c372567330
Fix off by one error in OnDiskBitmap
It resulted in the first row of pixels being pulled for out of bounds.

Fixes #1801
2019-04-17 15:17:11 -07:00
Scott Shawcroft
5b94b7727d
Merge pull request #1793 from C47D/fix_audiobusio_msg
Fix I2SOut message, fix #1765
2019-04-17 15:01:43 -07:00
Scott Shawcroft
92ba5c26b0
Unify VM cleanup code
Before we were skipping reset of the standard busses after boot and
repl which could lead to a crash in a subsequent VM run.

Fixes #1806
2019-04-17 14:52:00 -07:00
Scott Shawcroft
f7c7904e2b
Correct call structure for throwing errors 2019-04-17 13:54:29 -07:00
Dan Halbert
49c4c1e2ac
Merge pull request #1805 from tannewt/readme_updates
Doc updates for 4.0.0
2019-04-17 15:19:01 -04:00
Scott Shawcroft
45b26ec383
Install rsvg 2019-04-17 11:35:30 -07:00
Carlos
71c4f100de
Update translations and use same error for PDM too 2019-04-17 11:28:43 -07:00
Carlos
5865b28592
[audiobusio-I2SOut] Fix translation error 2019-04-17 11:12:38 -07:00
Carlos
65cc366280
[audiobusio-I2SOut] Fix compilation error by using mp_raise_ValueError_varg 2019-04-17 11:12:38 -07:00
Carlos
9f63125345
Fix I2SOut message, fix #1765 2019-04-17 11:12:38 -07:00
Scott Shawcroft
c415d114e1
Feedback from Dan and hopefully fix build. 2019-04-17 10:48:11 -07:00
Scott Shawcroft
bfbe9323ee
Merge pull request #1807 from pewpew-game/stage-cast-native
Allow use of displayio.Display subclasses in _stage
2019-04-17 10:37:32 -07:00
Scott Shawcroft
713a38d1a2
Merge pull request #1754 from dmazzella/dmazzella-patch-1
add support for USER_C_MODULES
2019-04-17 09:41:20 -07:00
Radomir Dopieralski
3a65ff970a Allow use of displayio.Display subclasses in _stage 2019-04-17 17:21:34 +02:00
Dan Halbert
b5e283af68
Merge pull request #1808 from pewpew-game/gamepad-doc
Update GamePad docs to include pull-downs
2019-04-17 11:06:19 -04:00
Dan Halbert
6684a3c723
Merge pull request #1778 from pewpew-game/gamepad-shift
Add GamePadShift for handling shift-register-based buttons
2019-04-17 10:22:24 -04:00
Radomir Dopieralski
e46bf7e7c6 Update GamePad docs to include pull-downs 2019-04-17 11:18:30 +02:00
Scott Shawcroft
8b60b20f88
Tweaks based on review feedback. 2019-04-16 17:33:13 -07:00
Scott Shawcroft
bebf32ad6f
Doc updates for 4.0.0
* Fixes PDF generation on RTD
* Adds links to circuitpython.org for boards
* Adds branding guidelines
2019-04-16 16:40:16 -07:00
Scott Shawcroft
608bf5076b
Merge pull request #1804 from ITACAInnovation/master
Merging updates
2019-04-16 13:54:40 -07:00
Dan Halbert
c0ce820974
Merge pull request #1803 from nickzoic/circuitpython-nickzoic-1042-nrf-nvm-bytearray-3
Circuitpython nickzoic 1042 nrf nvm bytearray 3
2019-04-16 15:05:18 -04:00
Scott Shawcroft
2fa1bf4351
Merge remote-tracking branch 'adafruit/master' into gamepadshift 2019-04-16 11:23:41 -07:00
Scott Shawcroft
2011bc3485
Update stage for GamePadShift 2019-04-16 11:17:02 -07:00
Scott Shawcroft
55782901d0
Actually call gamepadshift_tick 2019-04-16 11:15:42 -07:00
Scott Shawcroft
190bdf8117
Simplify type check in tick and init last 2019-04-16 10:44:09 -07:00
Scott Shawcroft
f58446e937
Merge branch 'master' into master 2019-04-16 10:32:38 -07:00
Scott Shawcroft
6132a05fd9
Include cleanup and style tweaks 2019-04-16 10:19:07 -07:00
Scott Shawcroft
7822d013cd
Merge pull request #1798 from ntavish/papyr
Add support for Electronut Labs Papyr.
2019-04-16 10:13:19 -07:00
Scott Shawcroft
0e03a321e4
Fully split gamepadshift from gamepad 2019-04-16 10:11:54 -07:00
ITACA Innovation S.R.L
2d303213ed Add files via upload 2019-04-16 16:50:54 +02:00
ITACA Innovation S.R.L
4f5a7ffe46 Updates: VID&PID, pinout
Changed VID & PID to new ones.
Changed the layout accordingly to the prototype version.
2019-04-16 16:45:47 +02:00
Tavish Naruka
32a0855d18 Add support for Electronut Labs Papyr.
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
2019-04-16 12:59:42 +05:30
Nick Moore
9c42a72275 Fix up single-byte access to nvm.ByteArray 2019-04-16 14:53:44 +10:00
Nick Moore
83dad37562 Fixups for adafruit/circuitpython#1042 2019-04-16 14:53:44 +10:00
Nick Moore
02dd32da60 Make some space for NVM adafruit/circuitpython#1042 2019-04-16 14:53:44 +10:00
Nick Moore
f22c01a05e Switch supervisor/internal_flash to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-16 14:53:44 +10:00
Nick Moore
66e8ceafad switch nvm.ByteArray to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-16 14:53:44 +10:00
Nick Moore
fd83cf2048 Add a peripherals/nrf/nvm.c to wrap flash page writes safely 2019-04-16 14:53:44 +10:00
Nick Moore
d0e5af3b09 Working flash pages for nvm.ByteArray adafruit/circuitpython#1042
import microcontroller

def dump(n = microcontroller.nvm):
    for i in range(0,len(n)):
        print ("%02X " % n[i], end="")
        if i % 16 == 15: print('')

microcontroller.nvm[0:4096] = bytes([1,2,3,4,5,6,7,8]) * 512
microcontroller.nvm[4096:8192] = bytes([16,17,18,19]) * 1024
microcontroller.nvm[4090:4101] = b'thisisatest'
microcontroller.nvm[100:105] = b'hello'
microcontroller.nvm[8000:8007] = b'goodbye'
dump()
2019-04-16 14:53:44 +10:00
Nick Moore
531cf7eb4c switch CIRCUITPY_NVM on! 2019-04-16 14:53:44 +10:00
Nick Moore
933500c448 nvm.ByteArray reads & writes but no sensible erase yet adafruit/circuitpython#1042 2019-04-16 14:53:44 +10:00
Nick Moore
df89156f2f Start on nRF nvm.ByteArray adafruit/circuitpython#1042 (doesn't do anything yet) 2019-04-16 14:53:44 +10:00
Scott Shawcroft
4826994599
Merge pull request #1802 from adafruit/revert-1779-nrf-nvm-2
Revert "nrf nvm: touchups to nickzoic PR #1768"
2019-04-15 19:19:21 -07:00
Scott Shawcroft
254d0a53ac
Revert "nrf nvm: touchups to nickzoic PR #1768" 2019-04-15 18:50:33 -07:00
Scott Shawcroft
c927e6b938
Split GamePadShift from GamePad to save space on most boards. 2019-04-15 15:40:06 -07:00
Scott Shawcroft
22889ca29a
Merge pull request #1790 from pewpew-game/pybadge-stage
Enable _stage module and freeze stage library on the PyBadge
2019-04-15 14:25:50 -07:00
Scott Shawcroft
7573da03f6
Merge pull request #1779 from dhalbert/nrf-nvm-2
nrf nvm: touchups to nickzoic PR #1768
2019-04-15 14:23:35 -07:00
Scott Shawcroft
7ef3f37772
Merge pull request #1791 from hexthat/patch-1
Update zh_Latn_pinyin.po
2019-04-15 14:21:06 -07:00
Scott Shawcroft
2ef9cec613
Merge pull request #1794 from arofarn/french-translation
Updated french translation
2019-04-15 14:20:24 -07:00
Scott Shawcroft
0c6a568438
Merge pull request #1795 from siddacious/cp32_wrover
Changing to  support for CP32-M4 wrover
2019-04-15 14:18:14 -07:00
Scott Shawcroft
b6f0b4148c
Merge pull request #1797 from adafruit/deshipu-patch-1
Enable builds for ugame10
2019-04-15 14:14:14 -07:00
Radomir Dopieralski
2023c8329f
Enable builds for ugame10 2019-04-15 21:06:30 +02:00
Radomir Dopieralski
ade6bd8185 Enable _stage module and freeze stage library on the PyBadge 2019-04-15 14:38:02 +02:00
siddacious
5135ee52d9 Changing to support for CP32-M4 wrover 2019-04-14 19:45:44 -07:00
Pierrick C
c57e07789d Missing '\n' 2019-04-14 23:11:05 +02:00
Pierrick C
75c7dc486a Add new translations + spell checking 2019-04-14 23:03:05 +02:00
Pierrick C
e6e76a06b7 Contributions from OlivierDev (odeevee) + some new string 2019-04-14 16:52:30 +02:00
hexthat
e3cfd1693c
Update zh_Latn_pinyin.po
add translations
2019-04-13 10:13:41 -07:00
Radomir Dopieralski
eeef5359f9 Merge branch 'master' into gamepad-shift 2019-04-13 11:54:25 +02:00
Radomir Dopieralski
9ace5c8ecf Update translations 2019-04-13 11:51:00 +02:00
Dan Halbert
f8473f4a39
Merge pull request #1788 from tannewt/pinyin
Add Chinese (Pinyin) and slim down boards so it fits
2019-04-12 20:36:59 -04:00
Scott Shawcroft
defc6dceb0
Slim down feather m0 express 2019-04-12 16:18:08 -07:00
Scott Shawcroft
5d205b6749
Update translations 2019-04-12 15:26:08 -07:00
Scott Shawcroft
796fc3f5ab
Update font location and shrink a bunch of builds 2019-04-12 15:25:48 -07:00
Radomir Dopieralski
c0a553e90f Add title to docs 2019-04-12 22:52:19 +02:00
Scott Shawcroft
c064deaaf5
Merge pull request #1785 from pewpew-game/ugame-displayio
Enable displayio for the ugame10 board
2019-04-12 13:26:51 -07:00
Radomir Dopieralski
016efb5c68 Add GamePadShift to docs 2019-04-12 22:00:03 +02:00
Scott Shawcroft
22ca98501b
Merge pull request #1786 from maholli/master
keeping travis happy (with proper load-leveling)
2019-04-12 12:58:42 -07:00
hexthat
a123cdc5ac
Update supervisor.mk 2019-04-12 12:55:55 -07:00
hexthat
f36572f322
Rename tools/new-ter-u12n.bdf to tools/default-font/new-ter-u12n.bdf 2019-04-12 12:55:13 -07:00
hexthat
b4509362ef
Add files via upload 2019-04-12 12:55:13 -07:00
hexthat
0e5385006b
Rename zh.po to zh_Latn_pinyin.po 2019-04-12 12:55:13 -07:00
hexthat
57f5284ef7
Delete zh_CN.po
too many characters needed in bdf font
2019-04-12 12:55:13 -07:00
hexthat
2056eaa49b
Update zh.po 2019-04-12 12:55:13 -07:00
hexthat
60cb6b709a
Add files via upload 2019-04-12 12:55:12 -07:00
hexthat
dbd532b8f2
Update zh.po 2019-04-12 12:55:12 -07:00
hexthat
1efe6877f4
Update zh.po 2019-04-12 12:55:12 -07:00
hexthat
6c75e40293
Update zh.po 2019-04-12 12:55:12 -07:00
hexthat
aa9a1c538c
Add files via upload 2019-04-12 12:55:12 -07:00
hexthat
f7b17f711a
Create zh.po
Chinese Hanyu Pinyin
2019-04-12 12:55:11 -07:00
Radomir Dopieralski
7aab3e8c93 Re-use an error message in _stage 2019-04-12 21:31:06 +02:00
Scott Shawcroft
7161038d6b
Turn off displayio because it is a satellite 2019-04-12 11:54:32 -07:00
Radomir Dopieralski
0599286e32 Use never_reset in ugame10 2019-04-12 20:45:52 +02:00
Radomir Dopieralski
4dc286fa14 Reorganize the gamepad code 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
049e80993d Sync gampad_singleton with the long lived copy 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
947662415c Disable gamepad for feather_m0_express_crickit 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
5915126030 Typos 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
bfe63e9528 Make the polish translation smaller 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
ae60968563 More refactoring 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
7e89beeb31 Optimize the size of code for gamepad 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
3469b1ec5d Add debouncing to GamePadShift 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
b485e45f4f Go back to simple bit-banging in GamePadShift, fix problems 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
a7925930fa Read one bit per system clock tick in GamePadShift 2019-04-12 20:43:29 +02:00
Radomir Dopieralski
6ff4e0ecb0 Add GamePadShift for handling shift-register-based buttons 2019-04-12 20:43:29 +02:00
Max Holliday
7b3e7cf9a3
forgot to keep travis happy 2019-04-12 10:06:17 -07:00
Max Holliday
41499ac315
No I2S on G19 2019-04-12 10:06:17 -07:00
Max Holliday
e85b6fb83c
adding kicksat-sprite board
See https://github.com/RoboticExplorationLab/sprite for details
2019-04-12 10:06:17 -07:00
Scott Shawcroft
29615dae06
Merge pull request #1787 from pewpew-game/custom-font
Allow overriding the font per board definition
2019-04-12 09:53:59 -07:00
Radomir Dopieralski
d39e7e7dd5 Use displayio.Display directly 2019-04-12 12:46:28 +02:00
Radomir Dopieralski
1eede2d1e3 Allow overriding the font per board definition
This way boards with smaller screens can use smaller fonts
2019-04-12 12:09:53 +02:00
Radomir Dopieralski
dabbded622 Got back to using Display object in the Stage library 2019-04-12 11:19:19 +02:00
Radomir Dopieralski
c3136f4f32 Enable displayio for uGame10 board
Also, make the _stage library work with the fourwire bus, to re-use the
display.
2019-04-12 01:10:57 +02:00
Dan Halbert
121d532a0e
Merge pull request #1781 from tannewt/build_aliases
Add alias support for unique board revs
2019-04-11 15:50:38 -04:00
Scott Shawcroft
1eb1430d82
Add alias support for unique board revs
This way we can list different board styles and track their
downloads without a completely new binary.

Fixes #1673
2019-04-11 11:25:04 -07:00
Scott Shawcroft
959258b3ab
Merge pull request #1780 from pewpew-game/pybadge-spi-24mhz
Configure the TFT spi to 24MHz by default
2019-04-11 10:43:15 -07:00
Radomir Dopieralski
5603d0cd38 Configure the TFT spi to 24MHz by default
That is (slightly) out of spec for the display, but it works reliably.
2019-04-11 15:47:26 +02:00
Dan Halbert
864910559b fix subscripting 2019-04-10 21:41:55 -04:00
Dan Halbert
cf3f3e510c
Merge pull request #1774 from tannewt/pybadge_revd
Tweak pybadge and fix display bugs
2019-04-10 18:45:41 -04:00
Scott Shawcroft
debff19126
Check for null local dictionaries 2019-04-10 14:48:27 -07:00
Scott Shawcroft
9f4f689879
Free up space in Itsy Bitsy M0 by limiting inline. 2019-04-10 14:09:14 -07:00
Dan Halbert
3618461f9b Merge remote-tracking branch 'adafruit/master' into circuitpython-nickzoic-1042-nrf-nvm-bytearray-2 2019-04-10 14:09:26 -04:00
Scott Shawcroft
a152ac1cef
Merge remote-tracking branch 'adafruit/master' into pybadge_revd 2019-04-10 10:58:45 -07:00
Dan Halbert
f115ec2193
Merge pull request #1777 from ladyada/master
Rev D/E (beta) hardware!
2019-04-10 10:21:09 -04:00
ladyada
894c1e9590 Rev D/E (beta) hardware! 2019-04-10 08:37:20 -04:00
Dan Halbert
203d795bd6
Merge pull request #1772 from tannewt/fix_gc_never_free
Check that a never free pointer is on the heap.
2019-04-10 08:26:37 -04:00
Scott Shawcroft
44e32506ed
Don't make Pins for those not connected on Itsy M0 2019-04-10 00:06:59 -07:00
Dan Halbert
de38ce798c
Merge pull request #1775 from dhalbert/fix-bast-pro-mini-build
Fix version skew for bast_pro_mini build
2019-04-09 23:46:37 -04:00
Dan Halbert
c0c809ad4b Fix version skew for bast_pro_mini build 2019-04-09 22:52:53 -04:00
Scott Shawcroft
ac2fd2fa80
Merge pull request #1773 from dhalbert/no-recursive-background-tasks
Don't let a background task call run_background_tasks()
2019-04-09 18:39:28 -07:00
Scott Shawcroft
34c8c669a3
Ignore vscode files 2019-04-09 18:32:52 -07:00
Scott Shawcroft
5028f87b09
Tweak pybadge and fix display bugs
* Update pybadge pins and flash for rev D
* TileGrid now validates the type of the pixel_shader.
* Display actually handles incoming subclass objects.
* MicroPython will inspect native parents to see if special
  accessors are used.
2019-04-09 18:32:52 -07:00
Dan Halbert
d8763debf5
shrink sparkfun_lumidrive build 2019-04-09 21:23:28 -04:00
Dan Halbert
fc9cb038c4
Merge pull request #1715 from ElectronicCats/master
Added Bast Pro Mini M0
2019-04-09 20:53:05 -04:00
Dan Halbert
d633928a16 Don't let a background task call run_background_tasks() 2019-04-09 20:23:01 -04:00
Scott Shawcroft
ee7a77db65
Check that a never free pointer is on the heap.
This fixes a crash on boards with built-in displays which statically
allocate the display bus. When the pointer is provided to never
free, it tries to allocate on the non-existant heap and crashes.
2019-04-09 15:12:28 -07:00
Dan Halbert
9026f13a25
Merge pull request #1756 from tannewt/fix_cpx_display
Fix crash when getting board.SPI outside the VM
2019-04-09 17:47:25 -04:00
Scott Shawcroft
129e725599
Merge branch 'master' into master 2019-04-09 14:40:36 -07:00
Scott Shawcroft
0e98eeb63b
Turn off touchio on pIRkey and add back usb midi.
USB MIDI was still being compiled in mostly anyway. There is no
place to touch on the board so touchio is useless.
2019-04-09 12:36:14 -07:00
Scott Shawcroft
ef23ffe584
Turn off audiobusio on Hallowing to free rom
It is about 5kb and the pins aren't broken out for it anyway.
2019-04-09 12:01:00 -07:00
Scott Shawcroft
72992070c5
Fix boards with no shared busses. 2019-04-09 11:36:10 -07:00
Nick Moore
18908c21f7 Fixups for adafruit/circuitpython#1042 2019-04-09 12:53:11 +10:00
Nick Moore
fdaff00c78 Make some space for NVM adafruit/circuitpython#1042 2019-04-09 10:56:53 +10:00
Nick Moore
bcb87ffd6c Switch supervisor/internal_flash to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-09 10:56:53 +10:00
Nick Moore
bc92441803 switch nvm.ByteArray to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-09 10:55:39 +10:00
Nick Moore
cd69db7770 Add a peripherals/nrf/nvm.c to wrap flash page writes safely 2019-04-09 10:55:39 +10:00
Nick Moore
8e7fee2246 Working flash pages for nvm.ByteArray adafruit/circuitpython#1042
import microcontroller

def dump(n = microcontroller.nvm):
    for i in range(0,len(n)):
        print ("%02X " % n[i], end="")
        if i % 16 == 15: print('')

microcontroller.nvm[0:4096] = bytes([1,2,3,4,5,6,7,8]) * 512
microcontroller.nvm[4096:8192] = bytes([16,17,18,19]) * 1024
microcontroller.nvm[4090:4101] = b'thisisatest'
microcontroller.nvm[100:105] = b'hello'
microcontroller.nvm[8000:8007] = b'goodbye'
dump()
2019-04-09 10:55:39 +10:00
Nick Moore
592bd0140a switch CIRCUITPY_NVM on! 2019-04-09 10:55:15 +10:00
Nick Moore
492431a694 nvm.ByteArray reads & writes but no sensible erase yet adafruit/circuitpython#1042 2019-04-09 10:54:11 +10:00
Nick Moore
f8e5e2da64 Start on nRF nvm.ByteArray adafruit/circuitpython#1042 (doesn't do anything yet) 2019-04-09 10:54:11 +10:00
Scott Shawcroft
ac7822ba4c
Delete stale TODO 2019-04-08 17:37:30 -07:00
Scott Shawcroft
de48e4b262
Merge remote-tracking branch 'adafruit/master' into fix_cpx_display 2019-04-08 17:15:08 -07:00
Scott Shawcroft
5015036c06
Merge pull request #1758 from pewpew-game/fourwire-frequency
Stop hard-coding SPI frequency in FourWire
2019-04-08 17:02:07 -07:00
Scott Shawcroft
0f003ac5b8
Reorganize board busses into shared-bindings and shared-module. 2019-04-08 16:58:50 -07:00
Scott Shawcroft
049b9ca094
Remove terse TODOs 2019-04-08 14:46:45 -07:00
Scott Shawcroft
672a102fdf
Merge pull request #1757 from pewpew-game/displayio-bus
Expose displayio.Display.bus
2019-04-08 14:17:10 -07:00
Radomir Dopieralski
8323721232 Stop hard-coding SPI frequency in FourWire
Instead remember and use the frequency, polarity and phase that was
set when the bus was first created.
2019-04-06 15:15:29 +02:00
Radomir Dopieralski
4b3cb7b6db Expose displayio.Display.bus
With the bus exposed, we can send custom commands to the display, to
leverage advanced features specific to the display, which are not
exposed by default.
2019-04-06 14:25:08 +02:00
Scott Shawcroft
7686f93ef4
Fix crash when getting board.SPI outside the VM
If one of the default pins was already in use it would crash.

The internal API has been refined to allow us to get the value
without causing an init of the singleton.

Fixes #1753
2019-04-05 19:06:37 -07:00
Dan Halbert
8b9e93329d
Merge pull request #1755 from tannewt/fix_tilegrid_bounds_check
Always check TileGrid's x, y
2019-04-05 17:51:04 -04:00
Scott Shawcroft
04a4e8a38d
Always check TileGrid's x, y
When using an int index you could end up writing past the end of
TileGrid's memory.

Fixes #1747
2019-04-05 13:10:47 -07:00
Dan Halbert
df058c971f
Merge pull request #1751 from makermelissa/ssd1331
Allow parameter data to be treated as commands for the ssd1331
2019-04-05 16:07:17 -04:00
Damiano Mazzella
8428fa0f64
Update Makefile 2019-04-05 21:42:29 +02:00
Damiano Mazzella
b6b5eaa878
Update mkrules.mk 2019-04-05 21:41:40 +02:00
Damiano Mazzella
a20aab0491
Update obj.h 2019-04-05 21:41:10 +02:00
Damiano Mazzella
af38f882ec
Update objmodule.c 2019-04-05 21:40:28 +02:00
Damiano Mazzella
7549326ceb
Update py.mk 2019-04-05 21:39:44 +02:00
Damiano Mazzella
d1698230a1
Add files via upload 2019-04-05 21:38:32 +02:00
Melissa LeBlanc-Williams
36b10104d6 Adjusted inline limit to fix Hallowing PL build 2019-04-05 12:17:16 -07:00
Melissa LeBlanc-Williams
97baa7899f Added comment regarding parameter loop 2019-04-05 11:11:27 -07:00
Melissa LeBlanc-Williams
7872a33f8b Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1331 2019-04-05 11:10:02 -07:00
Scott Shawcroft
b9e37818ea
Merge pull request #1748 from dhalbert/usb-disconnect
update tinyusb to fix disconnect/suspend issue with #1681
2019-04-05 10:22:09 -07:00
Dan Halbert
7798eb983d updated usb_descriptor submodule per @hathach 2019-04-05 11:52:38 -04:00
Dan Halbert
5f057d183a move pybadge to faster subjob 2019-04-05 11:32:58 -04:00
Dan Halbert
50d72ed993 shrink sparkfun_lumidrive to make room for large translations 2019-04-05 11:23:47 -04:00
Dan Halbert
4f201964a6 Merge remote-tracking branch 'adafruit/master' into usb-disconnect 2019-04-05 11:11:31 -04:00
Melissa LeBlanc-Williams
af3d809980 Updated boards files with displays 2019-04-04 23:18:15 -07:00
Melissa LeBlanc-Williams
8f1fc6c07d Added option to easily treat SPI parameter data as commands 2019-04-04 23:15:00 -07:00
Dan Halbert
b5bc8b3fc2
Merge pull request #1745 from dhalbert/rotaryio-typo-eic-refactor
ROTARYIO_MODULE typo; EIC interrupt handler refactor
2019-04-04 23:53:46 -04:00
Dan Halbert
682e83a63c Turn off rotaryio on pewpew10 so de_DE will fit 2019-04-04 20:28:32 -04:00
Dan Halbert
e5e9d2ba47 @hathach's changes; check cdc connected during string write 2019-04-04 18:58:35 -04:00
Dan Halbert
35cfc61607
Merge pull request #1746 from tannewt/fix_bitmap_wrap
Support multi-byte values with Bitmap
2019-04-04 18:17:02 -04:00
hathach
9d43a25d6e update tinyusb to fix disconnect/suspend issue with #1681 2019-04-04 17:59:20 -04:00
Dan Halbert
29df5930dd #if EIC handlers; turn off rotaryio in pirkey for space reasons 2019-04-04 16:48:38 -04:00
Scott Shawcroft
99b4913fda
Update translations 2019-04-04 13:38:05 -07:00
Dan Halbert
2528b67e77 update samd-peripherals 2019-04-04 16:36:14 -04:00
Dan Halbert
cdd77b5972 remove CPy-specific EIC handlers from samd-peripherals 2019-04-04 16:04:11 -04:00
Scott Shawcroft
6fcda1dec4
Support multi-byte values with Bitmap
It also corrects the behavior of single byte values.

Fixes #1744
2019-04-04 12:50:35 -07:00
Dan Halbert
5b0c1c8df9
Merge pull request #1743 from tannewt/fs_testing
A display fix and file system flush tweak
2019-04-03 22:12:39 -04:00
Scott Shawcroft
ceb6f2e4fc
Rework flash flush so it preserves the cache
This should make filesystem writes quicker and cause less heap
churn.
2019-04-03 18:28:27 -07:00
Scott Shawcroft
a5520f8a3d
Set the terminal tilegrid NULL after free
Without this, a double free can occur when a display (and terminal)
is released and then a crash occurs. Upon a second release,
different memory is released (sometimes the heap). When this is
followed by an allocation for the flash cache, the cache can
overwrite the active heap causing crashes.

Fixes #1667
2019-04-03 15:24:15 -07:00
Scott Shawcroft
9bfa625170
Merge pull request #1740 from caternuson/iss1739_insert
Fix shift right in displayio.Group
2019-04-03 10:18:44 -07:00
caternuson
5298119aa2 change direction of shift right 2019-04-03 09:21:34 -07:00
Sabas
19c6b8aa0c
Merge branch 'master' into master 2019-04-02 23:15:56 -06:00
Dan Halbert
19278e0284
Merge pull request #1736 from nickzoic/circuitpython-nickzoic-1046-nrf-rtc-2
Circuitpython nickzoic 1046 nrf rtc 2
2019-04-02 17:38:24 -04:00
Dan Halbert
709de9ce9f
Merge pull request #1732 from ladyada/master
add airlift lite - samd51j19 + 2MB QSPI
2019-04-02 17:11:59 -04:00
Scott Shawcroft
2dda3df637
Merge pull request #1731 from makermelissa/ssd1351-fix
Improved readability of Single Byte Bounds code
2019-04-02 10:26:05 -07:00
ladyada
39098af7c1 add board build line 2019-04-02 13:05:46 -04:00
Melissa LeBlanc-Williams
f1e4a2ffb9 Removed unnecessary bit-ANDing 2019-04-01 19:52:35 -07:00
Nick Moore
fbcea96ec0 Update translations ... 2019-04-02 13:43:59 +11:00
Nick Moore
781d301bb6 Remove unnecessary MP_WEAK declarations 2019-04-02 13:33:22 +11:00
Scott Shawcroft
92095eb666 Update comment 2019-04-02 13:28:35 +11:00
Nick Moore
94bda3bde1 Change nRF RTC implementation to use RTC2 #1046
(to avoid interference with Bluetooth Softdevice. See
https://github.com/adafruit/circuitpython/pull/1534#issuecomment-478776240
with thanks to @bboser for pointing it out)
2019-04-02 13:28:22 +11:00
Nick Moore
6afe23d0b0 There isn't really a good way to calibrate this RTC adafruit/circuitpython#1046 2019-04-02 13:28:03 +11:00
Nick Moore
6206fa9a82 adafruit/circuitpython#1046 handle overflows in the RTC counter 2019-04-02 13:27:45 +11:00
Nick Moore
f846fa109e enable NRFX RTC adafruit/circuitpython#1046 2019-04-02 13:27:28 +11:00
Nick Moore
f88f9fd748 more fake RTC code ... adafruit/circuitpython#1046
(works if MP_WEAK common_hal_rtc_get_time is removed)
2019-04-02 13:27:13 +11:00
Nick Moore
4a5c52fbd6 starting on #1046 rtc for nRF 2019-04-02 13:27:00 +11:00
Melissa LeBlanc-Williams
8e9f75bff9 Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix 2019-04-01 18:56:08 -07:00
Dan Halbert
c9571fe1ea ROTARYIO_MODULE mistakenly omitted from module list 2019-04-01 17:59:59 -04:00
Dan Halbert
367f6584ae
Merge pull request #1734 from dhalbert/hallowing-shrink-build
shrink inline-limit to allow large Hallowing translation to fit
2019-04-01 14:10:00 -04:00
Dan Halbert
10e35f30f0 shrink inline-limit to allow large Hallowing translation to fit 2019-04-01 12:18:25 -04:00
ladyada
8159272a8b remove old comment 2019-03-31 23:17:19 -04:00
ladyada
89cf60eac3 add airlift lite - samd51j19 + 2MB QSPI 2019-03-31 19:20:15 -04:00
Melissa LeBlanc-Williams
8b4ca24e56 Improved readability of Single Byte Bounds code 2019-03-31 14:17:54 -07:00
Dan Halbert
bd4a156b9d
Merge pull request #1729 from tannewt/release_notes
Add script to convert release notes from Markdown
2019-03-31 10:13:45 -04:00
Scott Shawcroft
bbed7b813b
Add script to convert release notes from Markdown 2019-03-30 23:31:11 -07:00
sabas1080
bb7bb80b4a update bast pro mini m0 2019-03-30 15:28:23 -06:00
Scott Shawcroft
5cc52fb7b7
Merge pull request #1727 from tannewt/remove_lwip
Remove lwip submodule because it is unused.
2019-03-29 16:46:56 -07:00
Scott Shawcroft
5ad69b2907
Merge pull request #1726 from adafruit/revert-1534-circuitpython-nickzoic-1046-nrf-rtc
Revert "Circuitpython nickzoic 1046 nrf rtc"
2019-03-29 16:38:46 -07:00
Scott Shawcroft
ab6896206d
Remove lwip submodule because it is unused. 2019-03-29 15:03:10 -07:00
Dan Halbert
0653bca323
Revert "Circuitpython nickzoic 1046 nrf rtc" 2019-03-29 16:41:29 -04:00
Dan Halbert
aca74a5394
Merge pull request #1725 from pewpew-game/pl-PL
Add Polish translation
2019-03-29 15:28:35 -04:00
Radomir Dopieralski
a0ffd1717c Add Polish translation 2019-03-29 19:40:58 +01:00
Scott Shawcroft
5478610e59
Merge pull request #1708 from makermelissa/ssd1351-fix
Added option to allow Displays with Single Byte Boundaries
2019-03-29 08:57:43 -07:00
Dan Halbert
7e99b2dbba
Merge pull request #1718 from yeyeto2788/master
New ES locale strings
2019-03-29 09:21:37 -04:00
F59JBP0
7fe3fb480d Merge remote-tracking branch 'yeyeto2788/master' 2019-03-29 13:48:51 +01:00
Melissa LeBlanc-Williams
e254597c24 Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix 2019-03-28 17:27:59 -07:00
Scott Shawcroft
a30bbe6294
Merge pull request #1534 from nickzoic/circuitpython-nickzoic-1046-nrf-rtc
Circuitpython nickzoic 1046 nrf rtc
2019-03-28 16:40:32 -07:00
Scott Shawcroft
9ff54fdf72
Merge pull request #1685 from makermelissa/master
Added option to enable toggling CS between init commands
2019-03-28 09:45:01 -07:00
Scott Shawcroft
98811a9675
Update comment 2019-03-28 09:29:18 -07:00
Dan Halbert
c6e3b17203
Merge pull request #1721 from tannewt/fix_hid_report_lookup
Fix HID buffer lookup
2019-03-28 09:20:33 -04:00
Nick Moore
5b98102677 re-run make translate 2019-03-28 14:48:46 +11:00
Nick Moore
54a41e0812 Merge branch 'master' into circuitpython-nickzoic-1046-nrf-rtc 2019-03-28 14:48:10 +11:00
Nick Moore
02f1939df2 Reset translations to master 2019-03-28 14:47:58 +11:00
Melissa LeBlanc-Williams
8087cb41e5 Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix 2019-03-27 20:18:37 -07:00
Melissa LeBlanc-Williams
2e0268cb09 Simplified cs toggling into fourwire only 2019-03-27 20:17:22 -07:00
Melissa LeBlanc-Williams
f3ec0514cd Simplified into fourwire only 2019-03-27 20:11:32 -07:00
Scott Shawcroft
fd134df552
Merge pull request #1720 from dhalbert/frequencyio-full-builds
Turn on frequencyio only on CIRCUITPY_FULL_BUILD
2019-03-27 18:20:47 -07:00
Scott Shawcroft
2cc3159f73
Merge pull request #1719 from dhalbert/restrict-translate-1
restrict 'make translate' to include only those directories we have ports for
2019-03-27 18:10:45 -07:00
Nick Moore
a06ce33472 Update translations (again) 2019-03-28 09:57:35 +11:00
Nick Moore
93684737eb Fix up messages & wild stab at translations for adafruit/circuitpython#1046
The mysterious MP_WEAK linking bug still exists, thus the new message for 'set'.
2019-03-28 09:56:48 +11:00
Nick Moore
71622a4515 There isn't really a good way to calibrate this RTC adafruit/circuitpython#1046 2019-03-28 09:50:09 +11:00
Nick Moore
28254def0b adafruit/circuitpython#1046 handle overflows in the RTC counter 2019-03-28 09:50:09 +11:00
Nick Moore
ff6395fa4e workaround for problem with adafruit/circuitpython#1046
the __weak linking works fine so long as these functions are not identical.
I have not yet worked out why.
2019-03-28 09:50:09 +11:00
Nick Moore
b09d2c3c62 enable NRFX RTC adafruit/circuitpython#1046 2019-03-28 09:50:09 +11:00
Nick Moore
69cf33e6a1 more fake RTC code ... adafruit/circuitpython#1046
(works if MP_WEAK common_hal_rtc_get_time is removed)
2019-03-28 09:50:09 +11:00
Nick Moore
77f307c642 starting on #1046 rtc for nRF 2019-03-28 09:50:09 +11:00
Scott Shawcroft
9232ec50f1
Fix HID buffer lookup
The previous code assumed HID report ids were consecutive. This is
not true in the CircuitPython descriptor where report ids are fixed
for each report type.

Fixes #1617
2019-03-27 15:23:20 -07:00
Dan Halbert
f118aef283 copy/paste error 2019-03-27 18:19:39 -04:00
Dan Halbert
88068876ed turn off frequencyio for all SAMD21 builds 2019-03-27 17:54:36 -04:00
Dan Halbert
35ab1a1983 Turn on frequencyio only on CIRCUITPY_FULL_BUILD 2019-03-27 16:57:35 -04:00
Dan Halbert
b7a68a7020 restrict 'make translate' to include only those directories we have ports 2019-03-27 16:28:50 -04:00
Juan Biondi
cc2513748e (ES)Add new strings, and fix some others that where wrong. 2019-03-27 20:16:41 +01:00
Juan Biondi
f6892ce3ff
Merge pull request #4 from adafruit/master
Get latest changes to translate
2019-03-27 19:55:23 +01:00
Scott Shawcroft
94822ee208
Merge pull request #1714 from dhalbert/pixel-shader-bug
TileGrid: pixel_shader is not always a Palette
2019-03-27 10:58:07 -07:00
Scott Shawcroft
129cc7cb67
Merge pull request #1713 from dhalbert/reversed-for-all-builds
turn on reversed() for all builds
2019-03-27 10:55:21 -07:00
Dan Halbert
df79e9a732
Merge pull request #1687 from jrcutler/master
Enable nvm storage for all samd21x18 boards
2019-03-27 11:10:22 -04:00
Dan Halbert
83f5414bdb
Merge pull request #1710 from tannewt/fix_cdc_out
Update TinyUSB to fix CDC OUT buffering
2019-03-27 11:09:29 -04:00
Dan Halbert
6cd874cc47
Merge pull request #1711 from tannewt/immediate_rgb_led_brightness
Make status LED brightness change immediate.
2019-03-27 11:08:31 -04:00
Dan Halbert
374f210771 TileGrid: pixel_shader is not always a palette 2019-03-27 10:55:50 -04:00
Dan Halbert
4c1849ae7c turn on reversed() for all builds 2019-03-26 22:15:26 -04:00
Melissa LeBlanc-Williams
2f7b338a4b Comment Cleanup 2019-03-26 18:56:25 -07:00
Melissa LeBlanc-Williams
f4cede4747 Removed parameter so CS is always toggled 2019-03-26 18:46:13 -07:00
Melissa LeBlanc-Williams
b2ad16f5c8 Removed parameter so CS is always toggled 2019-03-26 18:34:07 -07:00
Melissa LeBlanc-Williams
5f0e71ccb4 Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix 2019-03-26 18:23:02 -07:00
Melissa LeBlanc-Williams
0df40534f3 Merge branch 'master' of https://github.com/adafruit/circuitpython 2019-03-26 18:22:30 -07:00
Scott Shawcroft
503642e794
Make status LED brightness change immediate.
Fixes #1516
2019-03-26 16:43:35 -07:00
Scott Shawcroft
1b97325418
Update TinyUSB to fix CDC OUT buffering
Fixes #1630
2019-03-26 16:15:52 -07:00
Scott Shawcroft
3f42a49a6b
Merge pull request #1674 from pewpew-game/bug1669
Properly calculate BPP for displayio.Bitmap
2019-03-26 15:49:42 -07:00
Scott Shawcroft
8ea5fedf19
Merge pull request #1682 from rhwlo/add-socket.recv_into
shared-bindings/socket: add socket.recv_into
2019-03-26 14:28:07 -07:00
Scott Shawcroft
2c93ce5a28
Merge pull request #1672 from dhalbert/regular-fs-flush
flush flash filesystem once a second
2019-03-26 13:47:43 -07:00
Melissa LeBlanc-Williams
a54493b4ae Added small delay inside toggle for edge cases 2019-03-26 07:45:17 -07:00
Melissa LeBlanc-Williams
09a1f06bbf Added small delay inside toggle for edge cases 2019-03-26 07:39:40 -07:00
Melissa LeBlanc-Williams
cc96c39e6d Fixed wrong operator 2019-03-25 23:58:58 -07:00
Dan Halbert
2229f17911 reset flush timer on call to filesystem_flush() 2019-03-25 20:42:08 -04:00
Dan Halbert
952c9c56b2
Merge pull request #1703 from pewpew-game/typo3
Reuse "Not connected" message in bleio
2019-03-25 19:08:45 -04:00
Dan Halbert
2b7a211249
Merge pull request #1706 from brentru/add-weight-sensor-property
Add a weight sensor property
2019-03-25 19:08:16 -04:00
brentru
a9e2592425 add weight sensor property to the design guide 2019-03-25 18:10:15 -04:00
Radomir Dopieralski
d553df95b0 Reuse "Not connected" message in bleio 2019-03-25 21:41:40 +01:00
Radomir Dopieralski
81fe8060d7 Properly calculate BPP for displayio.Bitmap
Fix #1669
2019-03-25 19:40:40 +01:00
Dan Halbert
7bac10ab6e
Merge pull request #1700 from ITACAInnovation/master
uChip board support for Circuitpython environment
2019-03-25 14:05:12 -04:00
ITACA Innovation S.R.L
74c5705a9a
Update mpconfigboard.mk 2019-03-25 17:19:40 +01:00
Kattni
8115301588
Merge pull request #1697 from dhalbert/update-frozen-libs
Update frozen libraries to latest tagged versions
2019-03-25 11:35:26 -04:00
ITACA Innovation S.R.L
994f292b3b
Rename ports/atmel-samd/boards/uChip/pins.c to ports/atmel-samd/boards/uchip/pins.c 2019-03-25 15:59:22 +01:00
ITACA Innovation S.R.L
5ed11ddfc3
Rename ports/atmel-samd/boards/uChip/mpconfigboard.mk to ports/atmel-samd/boards/uchip/mpconfigboard.mk 2019-03-25 15:59:00 +01:00
ITACA Innovation S.R.L
dfc5602fa0
Rename ports/atmel-samd/boards/uChip/mpconfigboard.h to ports/atmel-samd/boards/uchip/mpconfigboard.h 2019-03-25 15:58:37 +01:00
ITACA Innovation S.R.L
12865ce7d0
Update .travis.yml 2019-03-25 15:57:59 +01:00
ITACA Innovation S.R.L
af04307c83
Rename ports/atmel-samd/boards/uChip/board.c to ports/atmel-samd/boards/uchip/board.c 2019-03-25 15:57:35 +01:00
ITACA Innovation S.R.L
a9f18cc4bd
Update .travis.yml
Commit change with updated board list
2019-03-25 15:41:45 +01:00
Dan Halbert
54b41e42d9
Merge pull request #1699 from pewpew-game/typo1
Really fix the error messages in bleio, this time
2019-03-25 10:04:29 -04:00
Radomir Dopieralski
0698e61553 And of course forgot make translate 2019-03-25 14:08:39 +01:00
Radomir Dopieralski
f440e41819 Really fix the error messages in bleio, this time 2019-03-25 14:04:50 +01:00
Dan Halbert
18d67be7a8
Merge pull request #1692 from pewpew-game/typo1
Fix error messages in bleio
2019-03-25 08:43:27 -04:00
Dan Halbert
a88990aa68 Update frozen libraries to latest tagged versions 2019-03-25 08:14:45 -04:00
ITACA Innovation S.R.L
74b1c11e8c
Merge pull request #1 from ITACAInnovation/ITACAInnovation-patch-1
Add files via upload
2019-03-25 13:07:59 +01:00
ITACA Innovation S.R.L
4886451000
Add files via upload
This is a pull request to add support for uChip into the Circuitpython environment.

We tested the uploaded code and it seems to work with Circuitpython.
If there are any suggestions or changes needed, please let us know!


What is uChip in brief?
A complete USB dev board the size of a narrow 16-DIP package, featuring Atmel SAMD21 Cortex M0+ and onboard switching converters. (OTG compliant and power delivery up to 1A@5V or 3V3).
For more details refer to the ongoing campaign on kickstarter.
www.kickstarter.com/projects/1186620431/uchip-arduino-zero-compatible-in-a-narrow-dip-16-p
2019-03-25 13:06:31 +01:00
Radomir Dopieralski
bb10a8aaa1 Fix error messages in bleio 2019-03-25 09:19:48 +01:00
Melissa LeBlanc-Williams
c3329e224d Added Single Byte Boundaries option for certain displays 2019-03-24 23:59:28 -07:00
Dan Halbert
705929a40a
Merge pull request #1693 from pewpew-game/typo2
Reuse existing error message in busio.i2c
2019-03-24 23:44:25 -04:00
Radomir Dopieralski
cc6fb4595e Reuse existing error message in busio.i2c
Remove a period from the error message, so that the same message as in
SPI and other places in I2C can be re-used.
2019-03-25 01:41:52 +01:00
Justin R. Cutler
41f4f269f1 Disable frequencyio support for samd21-based catwan_usbstick target. 2019-03-24 14:22:23 -04:00
Justin R. Cutler
d6c7bda6d1 Enable 256b of nvm storage for all samd21x18-bootloader.ld boards. 2019-03-24 12:02:07 -04:00
Melissa LeBlanc-Williams
d9de1b9926 Updated RTD comment to reflect new param defaulting True 2019-03-24 08:23:46 -07:00
Melissa LeBlanc-Williams
b25c4baeec Moving Toggle to before command fixes driver issue 2019-03-23 21:04:25 -07:00
Melissa LeBlanc-Williams
0c33f7fdb4 Enable CS toggle for displayio by default 2019-03-23 20:23:23 -07:00
Melissa LeBlanc-Williams
d2a0ec28a0 Fixed display init on boards with displays 2019-03-23 19:32:15 -07:00
Melissa LeBlanc-Williams
2bb63cbeb3 Added new parameter description in displayio RTD comment 2019-03-23 18:53:04 -07:00
Melissa LeBlanc-Williams
fadb5a1024 Added option to toggle cs in displayio init sequence 2019-03-23 18:34:42 -07:00
Joshua Coats
e23bad3a3a shared-bindings/socket: add socket_recv_into 2019-03-23 10:49:43 -07:00
Scott Shawcroft
fce63b17c6
Merge pull request #1678 from dhalbert/nrf-nfc-as-gpio
Allow NFC pins to be used for other purposes.

Fixes #1300
2019-03-21 12:11:45 -07:00
Dan Halbert
fe555a4098 Allow NFC pins to be used for other purposes. 2019-03-21 11:22:58 -04:00
Dan Halbert
26262cd477
Merge pull request #1670 from tannewt/fontio
Move Glyph and BuiltinFont into fontio
2019-03-20 17:36:04 -04:00
Scott Shawcroft
6f288ebb56
Merge pull request #1675 from dhalbert/cpython-compat
enable MICROPY_CPYTHON_COMPAT for most builds except CIRCUITPY_SMALL_BUILD
2019-03-20 14:30:17 -07:00
Scott Shawcroft
9f3ca66f97
Merge pull request #1676 from pewpew-game/bug1671
Make displayio.Palette support more than 255 colors
2019-03-20 14:13:18 -07:00
Dan Halbert
eca23a7279 remove i2cslave from feather m0 crickit 2019-03-20 15:38:52 -04:00
Radomir Dopieralski
f5cfd6e1f1 Make displayio.Palette support more than 255 colors
Fix #1671
2019-03-20 20:36:05 +01:00
Dan Halbert
fbf166af1a enable MICROPY_CPYTHON_COMPAT for most builds except CIRCUITPY_SMALL_BUILD; remove a few other things to make fit 2019-03-20 14:36:24 -04:00
Dan Halbert
2459eabd66 flush flash filesystem once a second 2019-03-20 12:21:36 -04:00
Scott Shawcroft
4d4b7adcd8
Fix up translation file locations 2019-03-19 18:38:16 -07:00
Scott Shawcroft
4b0afc855d
Fix up sphinx 2019-03-19 18:37:41 -07:00
Scott Shawcroft
5e2fec714c
Move Glyph and BuiltinFont into fontio
It was confusing in displayio.

Fixes #1662
2019-03-19 16:22:09 -07:00
Scott Shawcroft
8543695f9d
Merge pull request #1653 from python-ugame/master
Add frozen stage module to ugame10 board
2019-03-19 09:42:20 -07:00
Radomir Dopieralski
d81db3bced Merge branch 'master' of github.com:adafruit/circuitpython 2019-03-19 09:20:05 +01:00
Dan Halbert
b4b8ffa0e2
Merge pull request #1661 from dhalbert/nrf-internal-flash-fixes
nrf: fix internal flash writes
2019-03-18 10:41:05 -04:00
Dan Halbert
aff4e341f9 make translate 2019-03-18 09:56:43 -04:00
Dan Halbert
9cceea0d68 nrf: fix internal flash writes 2019-03-18 09:11:40 -04:00
Dan Halbert
60f76941ef
Merge pull request #1649 from dhalbert/reload-flush-filesystem
flush filesystem before resetting heap
2019-03-17 09:17:04 -04:00
Radomir Dopieralski
a50ee4f650 Add frozen stage module to ugame10 board
And also ignore some more pins.

This is needed for the builds on the circuitpython.org to be functional.
2019-03-17 14:03:50 +01:00
Dan Halbert
a10e4fe21e also flush fileystem on soft reboot from repl 2019-03-16 17:44:25 -04:00
Dan Halbert
43915133a1 after code.py runs, flush filesystem before resetting heap 2019-03-16 16:49:32 -04:00
Dan Halbert
0cdb5fcfd9
Merge pull request #1648 from tannewt/board_i2c_crash
Long live shared bus singletons
2019-03-15 14:04:55 -04:00
Scott Shawcroft
a086631607
Long live shared bus singletons
Without long living them you may clone them when long living a
module that uses them.

Fixes #1603
2019-03-14 15:17:53 -07:00
Dan Halbert
634791acdc
Merge pull request #1647 from tannewt/swd_pin_reuse
Fix custom pin in use logic for SWD
2019-03-14 15:45:48 -04:00
Scott Shawcroft
ff7e729032
Fix custom pin in use logic for SWD
This should allow you to use SWD pins unless a debugger is attached.
You may have trouble connecting to SWD when CircuitPython has already
begun using them.

Fixes #1633
2019-03-14 11:11:35 -07:00
Dan Halbert
74083dafed
Merge pull request #1645 from tannewt/fix_directory_move
Fix directory move into itself and prevent more fs changes when read-only
2019-03-13 21:28:59 -04:00
Scott Shawcroft
e05ab64398
Squeeze down the feather crickit build 2019-03-13 17:20:18 -07:00
Scott Shawcroft
6c01aba05b
Prevent other filesystem changes besides file writes
Such as moving files, adding directories and changing the label.
2019-03-13 16:10:53 -07:00
Scott Shawcroft
7482870164
Throw an error when moving a directory into itself.
Fixes #1192
2019-03-13 16:10:52 -07:00
Dan Halbert
494a9d3825
Merge pull request #1640 from tannewt/final_displayio_changes
Final displayio changes before 4.0.0
2019-03-13 18:24:04 -04:00
Scott Shawcroft
b4601a351c
Merge pull request #1641 from dhalbert/pwmout-var-freq-bug
wrong arg type for PWMOut variable_frequency
2019-03-13 11:13:59 -07:00
Scott Shawcroft
f72d2733df
Build pewpew10 on Travis so we know it builds. 2019-03-13 10:09:24 -07:00
Dan Halbert
97140e6a62 wrong arg type for PWMOut variable_frequency 2019-03-12 21:28:30 -04:00
Scott Shawcroft
946790bfb5
Add better PewPew error messages and update translations 2019-03-12 17:21:15 -07:00
Scott Shawcroft
afbf59019e
Update displayio docs to add detail to display bus comments
Fixes #1599
2019-03-12 17:18:33 -07:00
Scott Shawcroft
224e9b1009
Standardize TileGrid to x and y properties over position
This brings it inline with Group. Also fixes #1613

This also includes a number of fixes for where a method is called
through a subclass. We now correctly get the native object.
Fixes #1567

Lastly, this adds subscript support to TileGrid for changing tile
indices. Similar to Bitmap, it accepts ints or 2-tuples.
2019-03-12 17:18:33 -07:00
Scott Shawcroft
96a924f5f0
Turn off networking on M0s.
It takes 10k of code space and isn't very useful because of the
M0's limited RAM. Disabling it allows us to add other things.
2019-03-12 17:18:30 -07:00
Scott Shawcroft
ea45877ca5
Accept x and y kwargs into Group for initial position. 2019-03-12 17:17:32 -07:00
Dan Halbert
2169a62409
Merge pull request #1600 from jreese/pybadge
Add basic Pybadge board definition
2019-03-12 20:13:01 -04:00
sommersoft
a498bcd94d add voice level getter 2019-03-12 16:10:54 -05:00
Scott Shawcroft
2e500a8a29
Copy inline setting on feather m0 express that the metro has. 2019-03-12 14:06:01 -07:00
Scott Shawcroft
911509c80c
Fix function signature 2019-03-12 14:05:31 -07:00
Scott Shawcroft
3f6713abc1
Fix unix build by using safe mode stub 2019-03-12 11:56:35 -07:00
Scott Shawcroft
d6b2199f36
Stub out safe mode for mpy-cross 2019-03-12 11:18:30 -07:00
Scott Shawcroft
545574dad9
Build pybadge on Travis 2019-03-12 11:18:29 -07:00
Scott Shawcroft
b1c572e82e
Fixup the pybadge definition so the screen works. 2019-03-12 11:18:29 -07:00
Scott Shawcroft
37e10d4a81
Be more careful when initing the board outside the VM. 2019-03-12 11:18:29 -07:00
Scott Shawcroft
03be42ab84
Enter safe mode when an allocation is attempted on an uninitialized heap. 2019-03-12 11:18:26 -07:00
John Reese
ef4a74e201
Add basic Pybadge board definition
Currently boots on board and can connect to REPL,
but does not appear as mountable drive in OS.
Starting REPL gives the following error message:

```
You are running in safe mode which means something unanticipated happened.
Looks like our core CircuitPython code crashed hard. Whoops!
Please file an issue at https://github.com/adafruit/circuitpython/issues
 with the contents of your CIRCUITPY drive and this message:
Crash into the HardFault_Handler.
```
2019-03-12 11:12:35 -07:00
Scott Shawcroft
cfb54f0263
Merge pull request #1638 from dhalbert/disable-SPIM3
nrf: Disable SPIM3; add SPIM1; remove TWIM1
2019-03-12 10:57:56 -07:00
sommersoft
7aa0840b73 change voice 'gain' to 'level' 2019-03-12 10:24:54 -05:00
Dan Halbert
c4586c0531 nrf: Disable SPIM3; add SPIM1; remove TWIM1 2019-03-12 08:31:03 -04:00
Scott Shawcroft
8f57606513
Merge pull request #1635 from caternuson/iss1634_SPEAKER
add SPEAKER pin alias for PyPortal
2019-03-11 19:16:01 -07:00
Dan Halbert
eec144d901
Merge pull request #1637 from tannewt/tweak_file_updater
Update board info build to handle top level list.
2019-03-11 22:15:42 -04:00
caternuson
46fc8a8a86 change order so SPEAKER is first 2019-03-11 17:45:27 -07:00
Scott Shawcroft
cac9da37f9
Update board info build to handle top level list. 2019-03-11 17:07:15 -07:00
Dan Halbert
e3e35a5048
Merge pull request #1624 from tannewt/add_translate_files
Add translation file locations back.
2019-03-11 19:32:05 -04:00
sommersoft
15a1647c5c fix compilation with updated circuitpy_mpconfig and upstream changes 2019-03-11 18:30:56 -05:00
Scott Shawcroft
ac136a21b1
Merge pull request #1632 from pewpew-game/pewpew-brightness
Add default devices and tweak brightness in boards/pewpew10
2019-03-11 16:27:35 -07:00
caternuson
53b7055283 add SPEAKER pin alias for PyPortal 2019-03-11 15:12:29 -07:00
Radomir Dopieralski
caf51cf4eb Add default devices and tweak brightness in boards/pewpew10 2019-03-11 19:09:21 +01:00
Scott Shawcroft
5c104c934f
Add translation file locations back.
Skip line numbers because they cause diff churn. Also, keep sorting
by msgid to prevent churn from adding new files.
2019-03-08 12:47:04 -08:00
Scott Shawcroft
186e315911
Merge pull request #1622 from sommersoft/en_ARR
Add A Pirate Translation (English)
2019-03-08 11:24:08 -08:00
sommersoft
e2fd34d7cc Merge branch 'dm-mixer' of https://github.com/adafruit/circuitpython into mixer_volume 2019-03-08 13:05:45 -06:00
sommersoft
3f5559df9e outdated .po file was outdated. oops. 2019-03-07 21:48:01 -06:00
sommersoft
3a738af510 Merge branch 'master' of https://github.com/adafruit/circuitpython into en_ARR 2019-03-07 18:51:14 -06:00
sommersoft
c4d627a877 inital commit for English Pirate translation 2019-03-07 18:50:43 -06:00
Dan Halbert
2de8236979
Merge pull request #1620 from dhalbert/display-transactions-fix
Rework displayio display bus transaction handling during refresh
2019-03-07 10:19:42 -05:00
Dan Halbert
26ed411936 Shrink build so de_DE fits 2019-03-07 07:47:18 -05:00
Dan Halbert
1f31877d55 Rework background display task to allow reads from SPI SD card during display. Clarify code. Handle multiple displays better. 2019-03-07 00:08:16 -05:00
Dan Halbert
c854f6617a check display-bus transaction status and act accordingly 2019-03-06 13:45:48 -05:00
Dan Halbert
2eaa98ad71
Merge pull request #1601 from penguindustin/master
added height and width attributes for displayio
2019-03-06 12:43:55 -05:00
Dustin Mendoza
4145f87fcd changed from mp_int_t to uint16_t 2019-03-05 21:25:09 -08:00
Dan Halbert
233cfcd4a2
Merge pull request #1618 from dhalbert/build-uf2-for-radio-boards
Build both BIN and UF2 for RFM boards
2019-03-05 14:25:47 -05:00
Dan Halbert
b1d194505e Build both BIN and UF2 for RFM boards 2019-03-05 13:11:10 -05:00
Dan Halbert
e6339656fc
Merge pull request #1614 from sommersoft/new_freq_in
Add frequencyio.FrequencyIn
2019-03-04 15:56:48 -05:00
Dan Halbert
146271fa58
Merge pull request #1604 from dhalbert/display_wait_for_frame-check-interrupts
Don't wait for display frame if interrupt pending
2019-03-04 13:55:13 -05:00
sommersoft
8de4cf6b10 update RTD documentation 2019-03-02 18:33:37 -06:00
sommersoft
b7b74d1f78 update translations 2019-03-02 18:17:58 -06:00
Dustin Mendoza
9737a45b33 changed width and height to be properties 2019-03-02 14:50:10 -08:00
sommersoft
b2520f3147 using the correct name for things is important... 2019-03-02 16:17:23 -06:00
Dan Halbert
0ac40235b8
Merge pull request #1611 from siddacious/docs_fixes
Fixed the OnDiskBitmap example to reflect code changes
2019-03-02 13:31:35 -05:00
Bryan Siepert
945550f4bd Fixed the OnDiskBitmap example to reflect code changes 2019-03-02 09:12:40 -08:00
sommersoft
c9eb02d9d2 shore-up inclusion 2019-03-02 10:05:32 -06:00
sommersoft
2cd6a79016 better handle frequencyio inclusion 2019-03-01 22:46:57 -06:00
sommersoft
438eadd63a re-add frequencyin to 'timer_handler' after upstream merge 2019-03-01 21:47:23 -06:00
sommersoft
a44bfc2730 Merge branch 'master' of https://github.com/adafruit/circuitpython into new_freq_in 2019-03-01 21:24:30 -06:00
Dan Halbert
17bf2afa41
Merge pull request #1607 from pewpew-game/pewpew10.x-4.x
Add support for PewPew 10.x boards
2019-03-01 14:07:32 -05:00
Radomir Dopieralski
263134dcd3 Add more guards for CIRCUITPYTHON_PEW 2019-03-01 18:50:00 +01:00
Dan Halbert
1ba761086a
Merge pull request #1606 from siddacious/bmp_bitdepths
added monochrome, 8bpp indexed, and 32bpp ARGB BMPs
2019-03-01 12:04:34 -05:00
Dan Halbert
7535326d38
Merge pull request #1605 from dhalbert/pwmout-tcc-lock-ccb
Use TCC LUPD lock when updating CCB
2019-03-01 12:03:38 -05:00
Radomir Dopieralski
2bfafd1fc9 Enable math for pewpew10 2019-03-01 16:55:54 +01:00
Radomir Dopieralski
7afbfc7003 Use find_free_timer() 2019-03-01 16:46:59 +01:00
Radomir Dopieralski
ea78417f7f Improve documentation 2019-03-01 16:36:29 +01:00
Bryan Siepert
76dc8e1ac8 fixed typo 2019-03-01 07:32:46 -08:00
Radomir Dopieralski
5d85d54026 Move the frozen pew.py into a submodule 2019-03-01 16:24:22 +01:00
Bryan Siepert
e9f18122e9 Merge branch 'master' into bmp_bitdepths 2019-03-01 07:22:18 -08:00
Bryan Siepert
014595bff5 fixed whitespace, clarified variable name, and updated error messages 2019-03-01 07:17:50 -08:00
Radomir Dopieralski
a9074f7bd1 More style fixes 2019-03-01 16:11:22 +01:00
Dan Halbert
5af2c7fc16
Merge pull request #1608 from dhalbert/pyportal-rev-c
Update PyPortal pins to rev C
2019-03-01 10:07:09 -05:00
Radomir Dopieralski
89b2788d11 Apply review fixes:
* fix formatting
* fix copyrights
* fix CIRCUITPYTHON_GAMEPAD guards
* add CIRCUITPYTHON_PEW guards to reset
* fix module list order
2019-03-01 16:05:15 +01:00
Radomir Dopieralski
8e50aeb06f Fix pew.tick() to not accumulate error over time 2019-03-01 15:54:16 +01:00
Radomir Dopieralski
3826ca4194 Rename internal pins to add underscore in front 2019-03-01 15:10:43 +01:00
Radomir Dopieralski
f5f4932220 Clean unused include from tick.c 2019-03-01 15:09:00 +01:00
Radomir Dopieralski
18870255ea Remove the pewpew70 board definition, leave only pewpew10 2019-03-01 15:06:24 +01:00
Dan Halbert
fb027f2024 Update PyPortal pins to rev C 2019-03-01 09:06:03 -05:00
Radomir Dopieralski
45fea86554 Rebase on top of CircuitPython 4.x 2019-03-01 14:59:21 +01:00
Bryan Siepert
398c7060f8 added monochrome, 8bpp indexed, and 32bpp ARGB BMPs 2019-02-28 23:08:12 -08:00
Dan Halbert
3c24e893e9 Fix SYNCBUSY loop typo. 2019-02-28 23:38:26 -05:00
Dan Halbert
ced37c1001 Don't wait for display frame if interrupt pending 2019-02-28 22:36:50 -05:00
Dan Halbert
808304e827 Use TCC LUPD lock when updating CCB 2019-02-28 19:53:35 -05:00
Radomir Dopieralski
48f0a5163e Reset timer when releasing _pew 2019-02-28 23:34:03 +01:00
Radomir Dopieralski
59f63eaef6 Handle new buttons 2019-02-28 23:34:03 +01:00
Radomir Dopieralski
0a5c1c9402 Some cleanup 2019-02-28 23:34:03 +01:00
Radomir Dopieralski
55b511a5d8 Use a dedicated timer 2019-02-28 23:33:37 +01:00
Radomir Dopieralski
88e40193ae Add a _pew module 2019-02-28 23:32:58 +01:00
Radomir Dopieralski
7ac11ed8e1 Enlarge the usb disk 2019-02-28 23:25:18 +01:00
Radomir Dopieralski
5a1e69f5b8 Correct a typo in the pin name 2019-02-28 23:23:26 +01:00
Radomir Dopieralski
a41ea27596 Add pewpew70 board 2019-02-28 23:23:26 +01:00
sommersoft
4d47ce5c60 fixes set_timer_handler call 2019-02-27 19:28:59 -06:00
sommersoft
9d20380bd4 Merge branch 'master' into new_freq_in 2019-02-26 04:29:16 +00:00
sommersoft
4a9f05a44f final re-glue; compiles now. 2019-02-25 21:22:52 -06:00
Dustin Mendoza
f127be4dd2 added height and width attributes for displayio 2019-02-25 16:39:20 -08:00
sommersoft
a8204f1bf9 touchup adding frequencyin interrupt handling 2019-02-24 18:07:55 -06:00
sommersoft
f602fa3d9f fix init deps 2019-02-24 18:07:26 -06:00
sommersoft
9d3fcf9a0d add frequencyio to circuipy_ configs 2019-02-24 18:05:51 -06:00
Dan Halbert
2c9fbb5d40
Merge pull request #1594 from dhalbert/remove-bleio-wip-classes
Remove bleio classes that aren't done yet.
2019-02-24 15:02:21 -05:00
Dan Halbert
8b6dc446d3 Remove bleio classes that aren't done yet. 2019-02-24 14:23:00 -05:00
Dan Halbert
e3606461c5
Merge pull request #1558 from siddacious/bmp_bitdepths
initial support for additional bitdepths in OnDiskBitmap
2019-02-24 13:21:54 -05:00
Dan Halbert
9888b81bdc
Merge pull request #1593 from jerryneedell/jerryn_nrf_busses
implement default busses for particle boards
2019-02-24 12:00:32 -05:00
Jerry Needell
bd13834a74 implement default busses for particle boards 2019-02-24 09:34:33 -05:00
Bryan Siepert
d26ae6f81e Merge branch 'bmp_bitdepths' of github.com:siddacious/circuitpython into bmp_bitdepths 2019-02-23 20:21:08 -08:00
Bryan Siepert
3afcd3f5bc another/different size tweak for the DE hallowing build 2019-02-23 20:18:22 -08:00
Bryan Siepert
2cb31ea546 Merge branch 'master' into bmp_bitdepths 2019-02-23 20:16:57 -08:00
Bryan Siepert
3843e96edc Tweaking German hallowing build for size 2019-02-23 19:47:58 -08:00
Dan Halbert
3b58be9c76
Merge pull request #1592 from ladyada/master
final pin names, tested with final release
2019-02-23 17:23:56 -05:00
ladyada
85421f9766 final pin names, tested with final release 2019-02-23 15:40:28 -05:00
siddacious
ebbac61231
Merge branch 'master' into bmp_bitdepths 2019-02-23 20:18:41 +00:00
Dan Halbert
c8a5d1c38d
Merge pull request #1589 from Tasm-Devil/master
new translations
2019-02-23 15:14:39 -05:00
Bryan Siepert
b81072e750 (fork rebuild) Initial support for 16bpp 555&565 and 8bpp grayscale bitmaps 2019-02-23 10:58:46 -08:00
Pascal Deneaux
cad97801bf
Added support for bitdepths in OnDiskBitmap
https://github.com/adafruit/circuitpython/pull/1558
2019-02-23 15:56:30 +01:00
Pascal Deneaux
66a230c1b7
new translations 2019-02-23 15:26:32 +01:00
Dan Halbert
6a8f735641
Merge pull request #1587 from tannewt/fixup_translations
Fixup translations and remove location to reduce diffs
2019-02-22 23:27:10 -05:00
Scott Shawcroft
785edf719e
Update translations based on git history 2019-02-22 15:28:29 -08:00
sommersoft
2437ab9605 update frequencyin interrupt handler 2019-02-22 17:19:09 -06:00
sommersoft
a1060747f8 Merge branch 'new_master' into new_freq_in 2019-02-22 23:12:11 +00:00
Scott Shawcroft
8cfc4ed9ca
Remove file locations 2019-02-22 13:09:10 -08:00
Scott Shawcroft
2a5a735d94
Add utility to remerge translations 2019-02-22 13:06:40 -08:00
Scott Shawcroft
d33923942b
Merge pull request #1576 from Tasm-Devil/master
Update de_DE.po
2019-02-22 13:05:33 -08:00
Scott Shawcroft
10cdf9a480
Add missing messages 2019-02-22 12:18:25 -08:00
Scott Shawcroft
1d3489fef5
Remove duplicates and English translations 2019-02-22 11:30:25 -08:00
Scott Shawcroft
af863a3780
Merge pull request #1586 from sommersoft/shared_timer_handler
Move shared_timer_handler
2019-02-22 11:04:27 -08:00
sommersoft
a3f387274f fix build issues 2019-02-21 20:46:42 -06:00
sommersoft
7a7f6638d2 update peripherals submodule 2019-02-21 18:44:51 -06:00
Dan Halbert
d218069f03
Merge pull request #1584 from tannewt/disable_concurrent_write_protection
Add option to disable the concurrent write protection
2019-02-21 17:15:50 -05:00
Scott Shawcroft
3e877e0f6a
Merge pull request #1580 from cpforbes/cpf-1572
Set __file__ for the main source file (e.g. code.py, main.py)
2019-02-21 13:36:26 -08:00
Scott Shawcroft
0261c57d32
Merge pull request #1582 from dhalbert/remove-u-names
rename ure, ujson, and uerrno to re, json, and errno
2019-02-21 13:24:07 -08:00
Scott Shawcroft
ed1ace09e9
Fix unix build by using filesystem stub 2019-02-21 13:23:28 -08:00
Scott Shawcroft
daee83c10b
Fix mount doc 2019-02-21 13:23:02 -08:00
Scott Shawcroft
b8678c936b
Merge pull request #1585 from tannewt/backlight_pwm_frequency_boost
Tweak the backlight PWM rate to be higher than audio range
2019-02-21 12:51:01 -08:00
Dan Halbert
01e5a82f1c conditionalize re object type name 2019-02-21 15:11:54 -05:00
Scott Shawcroft
08158a7c34
Tweak the backlight PWM rate to be higher that audio range. Fixes #1571 2019-02-21 12:02:01 -08:00
Scott Shawcroft
1a0596a2fb
Add option to disable the concurrent write protection
This allows writing to the filesystem from the host computer and
CircuitPython by increasing the risk of filesystem corruption.
2019-02-21 10:45:41 -08:00
Kattni
f3e50b9df2
Merge pull request #1581 from dhalbert/ble-drv-root-pointer
Use critical section, not lock, in CharacteristicBuffer; use a root pointer for ble_drv list
2019-02-21 12:28:41 -05:00
Dan Halbert
10d3a20f8a Add CIRCUITPY macro; rename u* only when CIRCUITPY=1 2019-02-21 11:09:44 -05:00
Pascal Deneaux
d7f23c7883
Update de_DE.po 2019-02-21 13:21:18 +01:00
Dan Halbert
c5dbdbe88c rename ure, ujson, and uerrno to re, json, and errno 2019-02-21 00:33:36 -05:00
Dan Halbert
99da3b9646 Use critical section, not lock, in CharacteristicBuffer; use a root pointer for ble_drv list 2019-02-21 00:19:31 -05:00
Craig Forbes
1532863d83 Set __file__ for the main source file (e.g. code.py, main.py) 2019-02-20 21:37:29 -06:00
Pascal Deneaux
fd62ec89da
Update de_DE.po 2019-02-20 23:51:05 +01:00
sommersoft
55e7c5a41b handle 'set_timer_handler' on this side, vs samd-periphs. 2019-02-19 20:18:21 -06:00
Dan Halbert
0dc2600587
Merge pull request #1552 from tannewt/onsdbitmap
Fix displaying images off of SD cards.
2019-02-19 19:28:53 -05:00
Scott Shawcroft
3e24b9668e
Merge pull request #1573 from dhalbert/reset-analogout
Fix #ifdefs in port.c to call xxx_reset() routines properly. Remove most uses of EXPRESS_BOARD.
2019-02-19 16:14:33 -08:00
Scott Shawcroft
b1e8c43679
Fix reload while display is updating. 2019-02-19 14:51:39 -08:00
Scott Shawcroft
53fa65e318
Speed up pyportal by writing memory on the same access as our rotation. 2019-02-19 14:51:39 -08:00
Scott Shawcroft
46fd60c703
Prevent infinite display update recursion and fix VFS mounting
Fixes #1529
2019-02-19 14:50:31 -08:00
Dan Halbert
4e75aaecd0
Merge pull request #1569 from TG-Techie/patch-7
PYPORTAL:make it easier for people to hookup in spi mode
2019-02-19 14:12:30 -05:00
Dan Halbert
1177c32679
Merge pull request #1562 from debrouxl/minor_improvements_and_fixes
Minor fixes
2019-02-19 13:22:42 -05:00
Dan Halbert
9c24c804fb Fix #ifdefs in port.c to call xxx_reset() rroutines properly. Remove most uses of EXPRESS_BOARD. 2019-02-18 22:44:31 -05:00
Kattni
ef802c91e7
Merge pull request #1566 from dhalbert/fix-weaklinks
correct weak module links; samd module only in m4 ports; update frozen libs
2019-02-18 19:49:09 -05:00
TG-Techie
d453b605d3
make it easier for people to hookup in spi mode without looking inspecting schematic 2019-02-18 15:00:14 -05:00
Dan Halbert
263e9822ea typo 2019-02-18 12:21:31 -05:00
Dan Halbert
ba77a9ca80 move non-u names for native modules to circuitpy_mpconfig.h 2019-02-18 12:08:23 -05:00
Dan Halbert
339a22752b Remove rtc from pirkey_m0 to make TRANSLATION=fr fit 2019-02-18 09:02:26 -05:00
Dan Halbert
5c884bf6d6 forgot json 2019-02-18 07:57:54 -05:00
Dan Halbert
c1144a288f regularize how module weak links and alternate names are listed 2019-02-18 00:45:43 -05:00
Dan Halbert
97aeb1953b correct weak module links; samd module only in m4 ports; update libraries 2019-02-17 23:48:08 -05:00
Dan Halbert
fd3e9ce2f8
Merge pull request #1560 from dhalbert/shallow-travis-errors
Fix travis shallow build issue
2019-02-17 22:07:44 -05:00
Dan Halbert
cc51cad813
Merge pull request #1564 from dhalbert/module-presence-fixes
fix module weak links; add missing nrf features
2019-02-17 22:02:54 -05:00
Dan Halbert
5ec92415b0 fix module weak links; add missing nrf features 2019-02-17 17:29:28 -05:00
Lionel Debroux
b0c2c3c756 A couple build fixes for mp_float_t = double (MICROPY_FLOAT_IMPL_DOUBLE).
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-17 11:21:48 +01:00
Lionel Debroux
94e51de166 Define MP_SSIZE_MAX for LONGINT_IMPL_LONGLONG as well.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-17 11:21:35 +01:00
sommersoft
dafc370d22 moves 'shared_timer_handler' back to atmel-samd from samd-peripherals 2019-02-16 19:54:16 -06:00
sommersoft
ea9200a042 starting again; initial addition of 'frequencyio.FrequencyIn' 2019-02-16 19:26:24 -06:00
Dan Halbert
071a21af16 remove 'git fetch --shallow-exclude' 2019-02-16 17:15:40 -05:00
Dan Halbert
4f85a78daf test: changing git depth to 6 2019-02-16 17:10:53 -05:00
Dan Halbert
90bc09a31e
Merge pull request #1553 from tannewt/group_children
Store the original layer in Group
2019-02-16 08:47:09 -05:00
Dan Halbert
f7a397d527
Merge pull request #1550 from sommersoft/move_drivers_rst
Step 2: Move The Docs
2019-02-15 22:53:58 -05:00
Dan Halbert
619b4f13fd
Merge pull request #1555 from tannewt/print_flush
Support print("", flush=True)
2019-02-15 21:46:16 -05:00
Dan Halbert
11ef64ef51
Merge pull request #1554 from dhalbert/refactor-build-settings
Major refactoring of mpconfig and makefiles; compile only what's used; easy on/off of modules
2019-02-15 21:06:55 -05:00
Dan Halbert
7b3f7605b8 address @tannewt changes: move and rename common files; remove PORT_HEAP_SIZE 2019-02-15 20:32:32 -05:00
Scott Shawcroft
e6b140e7a0
Support print("", flush=True)
Fixes #1127
2019-02-15 16:53:19 -08:00
Dan Halbert
72c03268a4 remove circuitpy_rules.mk; not used 2019-02-15 19:24:34 -05:00
Dan Halbert
5a32c88db3 merge from upstream and move ure options;make translate 2019-02-15 19:19:52 -05:00
sommersoft
c80e22b6fc
make less vaguer 2019-02-15 18:12:58 -06:00
Dan Halbert
68d39d1f3f make translate 2019-02-15 18:56:53 -05:00
Dan Halbert
a345ef28f2 finish Makefile refactoring; nrf builds work 2019-02-15 18:55:10 -05:00
Scott Shawcroft
c9f036ed40
Store the original layer in Group
As is we would return the native superclass object only.

Fixes #1551
2019-02-15 14:29:59 -08:00
Dan Halbert
cf545cd477 WIP: fix issues with remaining atmel-samd builds 2019-02-15 09:52:45 -05:00
sommersoft
156b0d286a
dropped the fancy URLs so Sphinx doesn't complain 2019-02-14 23:32:41 -06:00
Dan Halbert
5154e0581e WIP: atmel-samd trinket build works 2019-02-15 00:28:20 -05:00
sommersoft
12ccd5ec55
link to new drivers.rst on the Bundle 2019-02-14 20:45:46 -06:00
Scott Shawcroft
35e3d99f62
Merge pull request #1544 from notro/ure_sub
extmod/ure: Extend functionality
2019-02-14 10:26:57 -08:00
Noralf Trønnes
0edd739609 Update translations 2019-02-14 15:43:13 +01:00
Noralf Trønnes
77ff17cc8d atmel-samd: Enable extra ure functionality on Express boards
This enables ure.sub(), Match.span/start/end() and the
ure.Compile.search/match() pos/endpos arguments.
2019-02-14 15:42:46 +01:00
Noralf Trønnes
9cdffe5e8c atmel-samd: Remove samd module from SAMD21 builds
Remove the samd module which has representations of the clocks.
This is done to save on precious flash.
2019-02-14 15:42:32 +01:00
Noralf Trønnes
0865c9d381 extmod/ure: Support search/match() pos and endpos parameters
MICROPY_PY_URE_MATCH_SPAN_START_END is used to enable the functionality
since it's similar.
2019-02-14 15:42:28 +01:00
Radomir Dopieralski
20a787adb4 extmod/ure: Handle some escape sequences.
Fix MicroPython #3176

Handle escape sequences inside regular expressions. This adds
handling for \a, \b, \f, \n, \r, \v and \\.
2019-02-14 15:42:25 +01:00
Damien George
b9dc23c070 extmod/modure: Add ure.sub() function and method, and tests.
This feature is controlled at compile time by MICROPY_PY_URE_SUB, disabled
by default.

Thanks to @dmazzella for the original patch for this feature; see #3770.
2019-02-14 15:42:22 +01:00
Damien George
cbeac094ef extmod/modure: Add match.span(), start() and end() methods, and tests.
This feature is controlled at compile time by
MICROPY_PY_URE_MATCH_SPAN_START_END, disabled by default.

Thanks to @dmazzella for the original patch for this feature; see #3770.
2019-02-14 15:42:21 +01:00
Damien George
a24fabbb6f extmod/modure: Add match.groups() method, and tests.
This feature is controlled at compile time by MICROPY_PY_URE_MATCH_GROUPS,
disabled by default.

Thanks to @dmazzella for the original patch for this feature; see #3770.
2019-02-14 15:42:19 +01:00
Dan Halbert
379258112a
Merge pull request #1548 from tannewt/shape_arg_check
Arg check width and height into Shape.
2019-02-14 07:42:39 -05:00
Dan Halbert
f99b9ddcf1
Merge pull request #1546 from tannewt/fix_safe_mode
A safe mode fix and displayio fixes
2019-02-13 21:15:14 -05:00
Scott Shawcroft
b13adfc228
Arg check width and height into Shape.
Fixes #1537
2019-02-13 17:34:39 -08:00
Scott Shawcroft
a1a4959071
Merge pull request #1541 from dhalbert/nrf-two-uarts
nrf: Add second UARTE to busio.UART. Init uarts on startup.
2019-02-13 17:31:55 -08:00
Scott Shawcroft
d6cbd5be92
Merge pull request #1540 from TG-Techie/patch-6
PYPORTAL: pindefs incorrect
2019-02-13 17:21:22 -08:00
Dan Halbert
ab4194f752 don't allocate DMA buffer as long-lived 2019-02-13 19:49:57 -05:00
Scott Shawcroft
473bdf48f6
A safe mode fix and displayio fixes
* Fixes safe mode on the SAMD51. The "preserved" value was being
clobbered by the bootloader.
* Fixes auto-reload loop when in safe mode.
* Fixes reading Group children with [].
* Check that a TileGrid actually moves before queueing a refresh.
2019-02-13 15:31:06 -08:00
Scott Shawcroft
78f51792a7
Merge pull request #1543 from dhalbert/atmel-uart-fix
Fix atmel UART after ASF4 pruning.
2019-02-13 10:22:09 -08:00
Dan Halbert
da5008f4d8 Fix atmel UART after ASF4 pruning. 2019-02-13 11:42:09 -05:00
Dan Halbert
f391a9eaa5
Merge pull request #1538 from TG-Techie/patch-5
DOCS: cods wrong, one is mirror_x and the other mirrored_y when code does not reflect
2019-02-12 22:45:47 -05:00
Dan Halbert
e92d90ce9c Add second UARTE to busio.UART. Init uarts on startup. 2019-02-12 22:34:05 -05:00
TG-Techie
e901317fd7
PYPORTAL: pindefs incorrect
@jerryneedell  suggested the pins could be wrong when I told him I was getting reading that didn't change, having corrected the pinout to match the schematic I was given it now works! 

used:
```
ts = adafruit_touchscreen.Touchscreen(board.TOUCH_XL, board.TOUCH_XR,
                                      board.TOUCH_YD, board.TOUCH_YU,
                                      calibration=((5200, 59000), (5800, 57000)),
                                      size=(320, 240))

while True:
    p = ts.touch_point
    if p:
        time.sleep(.5)
        print(p)
```
2019-02-12 22:18:36 -05:00
Dan Halbert
66b0c67f54
Merge pull request #1536 from TG-Techie/patch-4
DISPIO: end_x can't be > height of shape
2019-02-12 19:17:10 -05:00
TG-Techie
e674f11df2
Update Shape.c 2019-02-12 19:16:27 -05:00
Dan Halbert
a61f68f0fe
Merge pull request #1535 from tannewt/group_sequence_and_font
A variety of displayio improvements
2019-02-12 19:04:37 -05:00
Scott Shawcroft
df00d74db8
Update translations 2019-02-12 15:01:52 -08:00
TG-Techie
4fbbb999b9
DISPIO: end_x can't be > height of shape
an author must have forgotten to change from height to width after copy paste.
2019-02-12 17:53:11 -05:00
Scott Shawcroft
1e16b3e134
Tweaks based on dhalbert's feedback. 2019-02-12 14:18:53 -08:00
Scott Shawcroft
70f40a03cb
Rotate pyportal screen to be correct 2019-02-12 13:53:27 -08:00
Scott Shawcroft
b4306314aa
Move terminal font to terminalio from board. 2019-02-12 10:10:02 -08:00
Scott Shawcroft
5258bc4318
Fixup doc reference 2019-02-11 20:55:06 -08:00
Scott Shawcroft
9f7d19a937
Change EMERGENCY_EXCEPTION_BUF settings to match samd. 2019-02-11 20:55:06 -08:00
Scott Shawcroft
c17f147be9
A variety of displayio improvements
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
  a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
2019-02-11 20:55:05 -08:00
Scott Shawcroft
1a6ad20943
Get space back by using less ASF4 and combining register writes 2019-02-11 17:36:34 -08:00
Scott Shawcroft
f34360bba7
Merge pull request #1531 from Tasm-Devil/master
Update de_DE.po
2019-02-10 19:45:08 -08:00
Pascal Deneaux
b8856c71d1
Update de_DE.po 2019-02-10 21:11:42 +01:00
Scott Shawcroft
72f0783b60
Merge pull request #1527 from debrouxl/minor_improvements_and_fixes
Minor improvements
2019-02-07 12:36:10 -08:00
Lionel Debroux
591eb23e0f Fix a couple variable shadowing varnings.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-07 20:10:43 +01:00
Lionel Debroux
943216deda Make several const char / const char * arrays static to save a bit of space.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-07 20:10:43 +01:00
Scott Shawcroft
011b53fb97
Merge pull request #1525 from cpforbes/cpf-1352
Add human readable text for ENOSPC.
2019-02-07 10:39:09 -08:00
Scott Shawcroft
37b9cd5974
Merge pull request #1521 from nickzoic/circuitpython-nickzoic-1045-nrf-rotaryio
Circuitpython nickzoic 1045 nrf rotaryio
2019-02-07 10:38:20 -08:00
Craig Forbes
62389f07b8 Update translations. 2019-02-07 09:10:00 -06:00
Scott Shawcroft
c981559c16
Merge pull request #1523 from maholli/master
adding SAM32 board
2019-02-06 23:21:04 -08:00
Scott Shawcroft
3fccdabd32
Merge pull request #1526 from cpforbes/cpf-1490
Remove usb_midi.PortIn and PortOut constructors.
2019-02-06 23:17:46 -08:00
Craig Forbes
de43911a68 Remove usb_midi.PortIn and PortOut constructors. 2019-02-06 22:22:15 -06:00
Nick Moore
b9db977a2d Change pin mode to pullup for adafruit/circuitpython#1045 2019-02-07 09:47:56 +11:00
Craig Forbes
1662e02c1b Add human readable text for ENOSPC. 2019-02-06 14:59:01 -06:00
Max Holliday
2e48739a4e standardizing on "BATTERY" pin; and load-leveling Travis 2019-02-06 10:50:57 -08:00
Max Holliday
4c1b85cdcd elaborating on include path for board_busses 2019-02-05 20:21:54 -08:00
Max Holliday
30fcb14017 correcting VID/PID and adding sam32 to travis 2019-02-05 19:20:43 -08:00
Max Holliday
a2936c4c20 adding SAM32 board
SAMD51 running circuitpython talking to an ESP32 running micropython.
Full board details at: https://github.com/maholli/SAM32
2019-02-05 17:22:34 -08:00
Nick Moore
a7c349bc6e Add quarter-click logic to adafruit/circuitpython#1045 2019-02-05 16:41:33 +11:00
Nick Moore
95454ecde0 useful output from rotaryio adafruit/circuitpython#1045 2019-02-05 16:41:33 +11:00
Scott Shawcroft
041a84e8f9
Merge pull request #1520 from tannewt/check_seq_multiply_for_overflow
Check sequence multiply for length overflow
2019-02-04 21:23:27 -08:00
Nick Moore
21eb7e8e64 GPIOTE handlers for rotaryio.IncrementalEncoder adafruit/circuitpython#1045 2019-02-05 14:15:13 +11:00
Nick Moore
ee21cc163f Start on rotaryio.IncrementalEncoder adafruit/circuitpython#1045 (does nothing yet!) 2019-02-05 14:15:03 +11:00
Scott Shawcroft
844c20106b
Turn off micropython.mem_info on SAMD to get ~1k back 2019-02-04 18:00:18 -08:00
Scott Shawcroft
0c50154c83
Use generic overflow so 64 bit is handled ok. 2019-02-04 16:11:16 -08:00
Scott Shawcroft
c60f77d5ab
Check sequence multiply for length overflow
Fixes #1279
2019-02-04 15:33:36 -08:00
Kattni
9bcc38e995
Merge pull request #1519 from tannewt/speed_debug
Add fast seek support and turn on auto brightness by default
2019-02-04 17:56:40 -05:00
Scott Shawcroft
b249243a9f
Fix allocation size 2019-02-04 13:39:51 -08:00
Scott Shawcroft
90e5964703
Set auto brightness on by default for boards with displays built in. 2019-02-03 13:42:03 -08:00
Scott Shawcroft
a393a6e0c5
Add fast seek support to file objects 2019-02-03 13:41:20 -08:00
Scott Shawcroft
3d07571029
Merge pull request #1515 from tannewt/fix_long_live
Fix a couple long live issues
2019-02-01 16:40:33 -08:00
Scott Shawcroft
5555a24479
Never long live the main dictionary.
It's contents change often and may be referenced elsewhere.

Fixes #1443
2019-02-01 16:05:37 -08:00
Scott Shawcroft
a39fc94dde
Don't long live class attributes
When they are added later, they are also referenced in the main
dictionary.

Fixes #1218
2019-02-01 16:04:16 -08:00
Scott Shawcroft
3af57f3e92
Fix up heap analysis for dynamic heap location 2019-02-01 16:03:37 -08:00
Dan Halbert
12917d323d
Merge pull request #1513 from tannewt/rotation
Add support for display rotation and raw commands
2019-02-01 13:35:26 -05:00
Scott Shawcroft
845783a457
Clarify rotation parameter 2019-02-01 09:33:33 -08:00
Dan Halbert
7d039a5467
Merge pull request #1512 from adafruit/tannewt-patch-9
Update the discord link
2019-02-01 08:47:15 -05:00
Scott Shawcroft
03068a9388
Fix built-in inits and terminal allocate 2019-02-01 01:00:10 -08:00
Scott Shawcroft
9a9d85fadc
Update translations for display rotation 2019-02-01 00:36:21 -08:00
Scott Shawcroft
448ae64d8e
Add support for display rotation and raw commands
Display rotation is relative to the scan order of the display.
The scan order can be found by scrolling the display with command
0x37 `display_bus.send(0x37, struct.pack(">H", i % 128))`

Fixes #1504
2019-02-01 00:32:03 -08:00
Scott Shawcroft
6ee16c0aae
Update the discord link
Thanks to @ticky for the heads up.

Fixes #1511
2019-01-31 19:03:13 -08:00
Dan Halbert
7c443fbef2
Merge pull request #1510 from tannewt/terminalio
Add a terminal that shows by default on displays.
2019-01-31 16:03:51 -05:00
Scott Shawcroft
d72cd5b2d6
Correct TileGrid class name. 2019-01-31 11:42:15 -08:00
Scott Shawcroft
354a26963b
Correctly handle no backlight pin. 2019-01-31 11:42:15 -08:00
Scott Shawcroft
2c069a5685
Polish up comments 2019-01-31 11:42:15 -08:00
Scott Shawcroft
da206012e2
Update translations 2019-01-31 11:42:15 -08:00
Scott Shawcroft
73bc614a4b
Remove doc reference to Sprite 2019-01-31 11:42:15 -08:00
Scott Shawcroft
ec03887040
Fix hallowing and nrf builds 2019-01-31 11:42:15 -08:00
Scott Shawcroft
4672866eec
Remove Sprite references 2019-01-31 11:42:14 -08:00
Scott Shawcroft
601a910f4e
More improvements to Terminal:
* Fix Hallowing.
* Fix builds without displayio.
* Fix y bounds that appears as untrollable row of pixels.
* Add scrolling to TileGrid.
* Remove Sprite to save space. TileGrid is a drop in replacement.
2019-01-31 11:42:14 -08:00
Scott Shawcroft
6145f08cc8
Support adjustable backlight brightness 2019-01-31 11:42:14 -08:00
Scott Shawcroft
69bc5e189b
Rudamentary backlight support 2019-01-31 11:42:14 -08:00
Scott Shawcroft
1a1dbef992
Hook up the terminal based on the first display. 2019-01-31 11:42:14 -08:00
Scott Shawcroft
590e029198
Begin font parsing and packing for terminal 2019-01-31 11:42:13 -08:00
Scott Shawcroft
fb0970ec6e
Add terminalio 2019-01-31 11:42:13 -08:00
Scott Shawcroft
73cf490635
Add TileGrid 2019-01-31 11:42:13 -08:00
Dan Halbert
63d456127b
Merge pull request #1508 from adafruit/tannewt-patch-8
Fix up board build
2019-01-31 14:22:32 -05:00
Scott Shawcroft
39240516f3
Correct pin capitalization 2019-01-31 09:11:30 -08:00
Dan Halbert
323108e2ba
Merge pull request #1503 from hathach/nrf-tinyusb-sd
update tinyusb, work better with sd
2019-01-31 10:36:12 -05:00
Scott Shawcroft
1c3106e56e
Balance board builds 2019-01-30 22:56:25 -08:00
Scott Shawcroft
3225878f63
for redboard turbo too 2019-01-30 22:55:36 -08:00
Scott Shawcroft
fe2a092f1c
Fix board_bus location 2019-01-30 22:54:26 -08:00
Scott Shawcroft
68d524fc2a
Merge pull request #1506 from sparkfun/master
All files for SparkFun LumiDrive and Redboard Turbo
2019-01-30 16:48:15 -08:00
Elias Santistevan
b124071e10 Removes a lot of left over comments, adds lumidrive and redboard turbo to travis.yml 2019-01-30 16:13:08 -07:00
Elias Santistevan
9984b26a32 Updates devices.h to include the W25Q32FV flash chip that is on the SparkFun LumiDrive and Redboard Turbo 2019-01-30 13:53:00 -07:00
Elias Santistevan
178cfc1623 Adds make config files for SparkFun LumiDrive and Redboard Turbo 2019-01-30 13:50:29 -07:00
hathach
a51f2b0716 refactor nrfx from supervisor/usb.c 2019-01-30 22:30:23 +07:00
hathach
164e1e2341 re-init usb hardware when enable/disable SD 2019-01-30 14:13:07 +07:00
hathach
d1fb384a4a
update tinyusb, work better with sd 2019-01-29 21:03:18 +07:00
Scott Shawcroft
765d877dfa
Merge pull request #1499 from nickzoic/nickzoic/circuitpython-nrf-touchin-1048
Nickzoic/circuitpython nrf touchin 1048
2019-01-28 00:22:34 -08:00
Nick Moore
294b026aca Automatically set a default threshold for touchio.TouchIn channels 2019-01-28 18:22:57 +11:00
Scott Shawcroft
825c80a48f
Merge pull request #1502 from adafruit/tannewt-patch-7
Remove draft because is unpublishes releases
2019-01-27 21:53:40 -08:00
Scott Shawcroft
2bb89c6fde
Remove draft because is unpublishes releases 2019-01-27 14:44:58 -08:00
Scott Shawcroft
07b96fa15d
Merge pull request #1495 from TG-Techie/patch-3
fixed compiling error for datalore ip m4
2019-01-27 14:07:16 -08:00
Scott Shawcroft
de2861969b
Merge pull request #1494 from TG-Techie/patch-2
add displayio to TG-Techie's first board
2019-01-27 14:06:47 -08:00
Scott Shawcroft
b16f489d58
Merge pull request #1496 from ShawnHymel/master
Added support for SparkFun SAMD21 Dev Board
2019-01-27 14:06:07 -08:00
Nick Moore
539aaf08b5 speed up measurement loop 2019-01-27 21:54:59 +11:00
Nick Moore
4a093294ac hugely simplified version of the touchio.TouchIn.get_raw_reading code (adafruit/circuitpython#1048) 2019-01-27 15:08:03 +11:00
Scott Shawcroft
cd0aacccbd
Merge pull request #1497 from jerryneedell/jerryn_fix_time
fix kw_arg checking for time.struct_time()
2019-01-25 13:55:57 -08:00
Jerry Needell
44bd9d1013 fix kw_arg checking for time.struct_time() 2019-01-25 14:57:31 -05:00
ShawnHymel
dd5165c92c Added support for SparkFun SAMD21 Dev 2019-01-25 12:27:31 -06:00
TG-Techie
468faf4e2b
fixed compiling error 2019-01-25 12:42:43 -05:00
ShawnHymel
65dc8d0c74 Updated .travis.yml and samd README with SparkFun SAMD21 Dev pinout 2019-01-25 11:08:19 -06:00
TG-Techie
e9538dbc7f
add displayio to TG-Techie's first board 2019-01-25 12:06:05 -05:00
ShawnHymel
d79615f96b Revert "Updated samd readme with SparkFun SAMD21 Dev pinout"
This reverts commit d10fa4a8cb.
2019-01-25 11:02:22 -06:00
ShawnHymel
d10fa4a8cb Updated samd readme with SparkFun SAMD21 Dev pinout 2019-01-25 10:14:53 -06:00
Dan Halbert
6be4b07e17
Merge pull request #1492 from tannewt/board_info_fix
Fix board info script to skip removed boards.
2019-01-24 14:37:55 -05:00
Scott Shawcroft
d30bdd4cb3
Fix board info script to skip removed boards. 2019-01-24 10:22:14 -08:00
Scott Shawcroft
de628ac963
Merge pull request #1488 from Tasm-Devil/master
new translations
2019-01-24 10:06:26 -08:00
Scott Shawcroft
e77872f9c6
Merge pull request #1491 from dhalbert/ble-data-length-update
bleio: handle events sent by newer devices and by Android
2019-01-24 09:53:59 -08:00
Dan Halbert
04aa906fac fix a few ble-related doc issues 2019-01-24 00:13:15 -05:00
Dan Halbert
7998a7696d also handle BLE_GATTS_EVT_SYS_ATTR_MISSING: fixes Android: 2019-01-23 22:12:38 -05:00
Dan Halbert
b1f1bb1389 support BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST, sent by newer devices 2019-01-23 21:07:23 -05:00
Scott Shawcroft
49581f9e1c
Merge pull request #1489 from tannewt/fix_palette_color
Fix palette color conversion
2019-01-23 15:29:38 -08:00
Scott Shawcroft
b2f2abcb22
Make palette color ordering consistent with ColorConvertes and fix blinka. 2019-01-23 14:44:46 -08:00
Scott Shawcroft
3139d0dc20
Use common delay function during display init so we don't starve background tasks. 2019-01-23 14:43:54 -08:00
Pascal Deneaux
f6fd65b41c
another " was missing 2019-01-23 22:42:38 +01:00
Pascal Deneaux
e82334942a
Update de_DE.po 2019-01-23 20:49:57 +01:00
Pascal Deneaux
be3df58ca4
Update de_DE.po 2019-01-23 19:36:21 +01:00
Pascal Deneaux
2ff3b84452
new translations 2019-01-23 15:35:23 +01:00
Pascal Deneaux
f7277b5b9f
Merge pull request #1 from adafruit/master
test pull
2019-01-23 13:23:33 +01:00
Dan Halbert
07a4cc0c48
Merge pull request #1487 from tannewt/enable_displayio
Enable displayio on all Express boards.
2019-01-22 22:46:11 -05:00
Scott Shawcroft
aaa644b223
Skip displayio on crickit builds and cpx build due to lack of space. 2019-01-22 18:49:37 -08:00
Scott Shawcroft
0cdbc004e6
Enable displayio on all Express boards. 2019-01-22 17:59:31 -08:00
Scott Shawcroft
fb2d87bf4f
Merge pull request #1485 from Tasm-Devil/patch-2
Corrected incorrect translations and added some
2019-01-22 16:32:43 -08:00
Scott Shawcroft
0a3f62d8d4
Merge remote-tracking branch 'adafruit/master' into patch-2 2019-01-22 15:57:59 -08:00
Scott Shawcroft
cef6e0895a
Merge pull request #943 from rhooper/pixelbuf
Add pixelbuf for accelerating NeoPixel operations
2019-01-22 15:40:24 -08:00
Scott Shawcroft
f43379c771
No pixelbuf on Hallowing 2019-01-22 14:38:34 -08:00
Pascal Deneaux
603f64d731
Corrected incorrect translations and added some
Should the error messages from files in the py folder also be translated?
2019-01-22 23:05:38 +01:00
Scott Shawcroft
a380865655
Merge remote-tracking branch 'adafruit/master' into HEAD 2019-01-22 14:02:07 -08:00
Scott Shawcroft
f46ec0253d
Merge pull request #1484 from larsks/issue/1483
tell people that esp8266 is no longer supported
2019-01-22 13:24:51 -08:00
Scott Shawcroft
736d21fce8
Merge pull request #1482 from dhalbert/bleio2
More bleio revision
2019-01-22 13:24:35 -08:00
Lars Kellogg-Stedman
3d3c50f927 tell people that esp8266 is no longer supported
Closes #1483
2019-01-22 15:40:00 -05:00
Dan Halbert
6aa9f69b19 make translateimgrofybeepboopbop 2019-01-21 21:51:22 -05:00
Dan Halbert
e170e03f8c Merge remote-tracking branch 'adafruit/master' into bleio2 2019-01-21 20:38:26 -05:00
Scott Shawcroft
9e8d182fe1
Merge pull request #1480 from dhalbert/packinto-bug
struct.pack_into incorrect buffer size check
2019-01-21 09:28:18 -08:00
Dan Halbert
777408ff8d struct.pack_into incorrect buffer size check 2019-01-21 11:45:38 -05:00
Scott Shawcroft
92dd9072cd
Merge pull request #1477 from Tasm-Devil/patch-1
Update de_DE.po
2019-01-21 00:34:02 -08:00
Scott Shawcroft
2bcf81fb9e
Merge pull request #1479 from siddacious/master
adding height and width to OnDiskBitmap for #1460
2019-01-21 00:32:49 -08:00
Scott Shawcroft
b369fa9013
Merge pull request #1478 from dhalbert/struct-compat
Improve struct compatibility with CPython
2019-01-21 00:31:45 -08:00
Bryan Siepert
ab2ad7ba45 adding height and width to OnDiskBitmap for #1460 2019-01-20 22:33:22 -08:00
Dan Halbert
9558b3afa7 make translate 2019-01-20 22:46:32 -05:00
Dan Halbert
a8f4aa4796 Merge remote-tracking branch 'adafruit/master' into struct-compat 2019-01-20 21:47:13 -05:00
Dan Halbert
6b88d0f94e
Merge pull request #1476 from tannewt/rework_displays
Rework displays
2019-01-20 21:45:35 -05:00
Scott Shawcroft
3d11dd077c
Update translations 2019-01-20 17:33:18 -08:00
Scott Shawcroft
479b286600
Fix dict_make_new 2019-01-20 17:32:43 -08:00
Scott Shawcroft
5ddc50473a
Check for null kw_args 2019-01-20 16:18:34 -08:00
Dan Halbert
7a09af73ec Improve struct compatibility with CPython 2019-01-20 15:12:34 -05:00
Dan Halbert
62df7ab730 Improve struct compatibility with CPython 2019-01-20 15:10:09 -05:00
Pascal Deneaux
e44ba8b9c4
Update de_DE.po
changed and inserted some translations and fixed typos.
2019-01-20 02:17:53 +01:00
Dan Halbert
28cfd8a513 CharacteristicBuffer: make it be a stream class; add locking 2019-01-19 19:45:35 -05:00
Roy Hooper
02266eafd8 adjust comment 2019-01-19 17:04:24 -05:00
Roy Hooper
8fa81fe003 move headers to __init__.h 2019-01-19 17:03:16 -05:00
Roy Hooper
79d9c9cd56 remove fill_wheel 2019-01-19 17:01:31 -05:00
Roy Hooper
b82e1d7fcb Fix build to work with constructor calling convention. 2019-01-19 16:54:21 -05:00
Roy Hooper
50af08a6f3 Merge branch 'master' into pixelbuf 2019-01-19 16:33:59 -05:00
Scott Shawcroft
b569e8bab0
More make_new updates 2019-01-18 17:09:56 -08:00
Scott Shawcroft
b41d386d02
simplify arg checking for display 2019-01-18 17:04:18 -08:00
Scott Shawcroft
edc8383e22
Improvements thanks to danh's review 2019-01-18 16:37:06 -08:00
Scott Shawcroft
d2a7cd6c5a
Merge pull request #1475 from dhalbert/fix-broken-build-check
report status in .travis.yml correctly
2019-01-18 15:30:00 -08:00
Dan Halbert
4768d4ff93 report status in .travis.yml correctly 2019-01-18 17:23:47 -05:00
Scott Shawcroft
ae52c964c2
Cleanup display rework for PR.
Fixes #1465. Fixes #1337. Fixes #1168
2019-01-18 13:47:40 -08:00
Scott Shawcroft
dc024cf411
Add a bit more to the docs 2019-01-18 12:59:23 -08:00
Scott Shawcroft
58a2009cc1
Fix unix build 2019-01-18 12:52:27 -08:00
Scott Shawcroft
0318a9a9bc
More make_new fixes for unix build 2019-01-18 11:53:09 -08:00
Scott Shawcroft
427766ac69
Update translations 2019-01-18 11:44:53 -08:00
Scott Shawcroft
41dad1ea1e
Fix pin defs 2019-01-18 11:43:35 -08:00
Scott Shawcroft
96e2c717fc
Fix build 2019-01-17 22:10:11 -08:00
Scott Shawcroft
fddc98858a
fix nonetype handling and nrf never reset 2019-01-17 18:51:40 -08:00
Scott Shawcroft
6404aaf411
Fix up nrf and using board.SPI in FourWire 2019-01-17 18:19:07 -08:00
Scott Shawcroft
760bd8d8a4
share fourwire and make nrf compile 2019-01-17 15:15:59 -08:00
Scott Shawcroft
2d136d58bf
Fix other builds and hallowing 2019-01-17 14:45:29 -08:00
Scott Shawcroft
5277138c99
pyportal compiles and tweak blinka colors 2019-01-17 10:57:05 -08:00
Scott Shawcroft
84292ad890
External fourwire works and blinka splash after 2019-01-17 00:20:16 -08:00
Dan Halbert
7a33e588d4 Put back native C UUID string parsing and printing (complete rewrite) 2019-01-16 20:41:01 -05:00
Scott Shawcroft
05d8885a1a
Rework displays in prep for dynamic support and 8bit parallel. 2019-01-16 12:05:20 -08:00
Scott Shawcroft
076ddfd66b
Merge pull request #1474 from ladyada/master
more pyportal pins
2019-01-16 11:11:56 -08:00
Scott Shawcroft
c1e6624f8f
Merge pull request #1470 from gpshead/mdk_usb_dongle
Add Makerdiary nRF52840 MDK USB dongle support.
2019-01-15 23:05:15 -08:00
ladyada
19b6c5c802 more pins! 2019-01-16 01:49:12 -05:00
Gregory P. Smith
91452ec9cb Mention the MDK USB Dongle. 2019-01-15 21:24:36 -08:00
Gregory P. Smith
4d9f138e32 Add the dongle to the Travis build. 2019-01-15 21:24:15 -08:00
Dan Halbert
ea5acb7987
Merge pull request #1473 from dsiee/patch-1
Update pins.c
2019-01-15 23:50:13 -05:00
dsiee
af0f1a7542
Update pins.c
whitespace
2019-01-16 15:02:48 +11:00
dsiee
c2d39a7ab7
Update pins.c 2019-01-16 14:58:16 +11:00
dsiee
ac238838f2
Update pins.c
add declaration for RED_LED as D3 to match silkscreen.
2019-01-16 14:48:41 +11:00
Scott Shawcroft
c1dfee6575
Merge pull request #1466 from TG-Techie/patch-1
Update DLIPM4 mpconfigboard.mk
2019-01-15 18:40:46 -08:00
Dan Halbert
7659648594
Merge pull request #1472 from tannewt/shape
Add displayio.Shape
2019-01-15 18:55:48 -05:00
Scott Shawcroft
bfd531281a
Fix default values on last line. 2019-01-15 10:15:55 -08:00
Limor "Ladyada" Fried
15edc96540
Merge pull request #1471 from adafruit/tannewt-patch-6
Tweak artifact path for upload
2019-01-15 13:03:49 -05:00
Scott Shawcroft
7669ab83e1
Tweak artifact path for upload 2019-01-15 09:44:28 -08:00
Gregory P. Smith
7296b647ef Add MDK nRF52840 MDK USB Dongle support.
Adds support for https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/.

A cheap nRF52840 USB stick with optional headers, very Trinket and Itsy like.
2019-01-15 01:37:22 -08:00
Scott Shawcroft
043a9e0e7e
Merge pull request #1469 from vgoodwinv/patch-2
Update build_release_files.py - board/language version
2019-01-15 00:15:18 -08:00
vgoodwinv
c1cfe5f5f0
Update build_release_files.py 2019-01-14 21:35:21 -05:00
vgoodwinv
d1204c7cf3
Update build_release_files.py 2019-01-14 21:27:14 -05:00
vgoodwinv
6962c04f66
Update build_release_files.py
added language directories under exist board directories for #1441
2019-01-14 21:21:48 -05:00
Scott Shawcroft
c271754962
fixup micropy 2019-01-14 18:09:02 -08:00
Scott Shawcroft
bd3c36ce6d
fixup m0 and nrf 2019-01-14 18:08:45 -08:00
Scott Shawcroft
12c8b00556
Don't build machine class we don't use. 2019-01-14 17:30:01 -08:00
Scott Shawcroft
747f2cfe26
Add subclass support to displayio.
Also, swap make_news to accept a kwarg map and refine param checking.

Fixes #1237
2019-01-14 17:29:19 -08:00
Scott Shawcroft
72d993d60c
py changes for supporting superclass constructors that take kwargs 2019-01-14 17:29:19 -08:00
Scott Shawcroft
619bc4caae
Support subclasses of Shape as bitmaps. 2019-01-14 17:29:18 -08:00
Scott Shawcroft
a14762a16c
Add support for rendering a shape.
Fixes #1171
2019-01-14 17:29:15 -08:00
Dan Halbert
738e8f0028
Merge pull request #1467 from adafruit/tannewt-patch-5
Remove ESP8266 build
2019-01-14 17:37:19 -05:00
Scott Shawcroft
b5f35b82e1
Remove from build info too 2019-01-14 13:30:09 -08:00
Scott Shawcroft
3aeadb9f0c
Remove ESP8266 build
We're removing support in 4.0 because it doesn't have native usb.
2019-01-14 12:02:33 -08:00
TG-Techie
f667d4d887
Update mpconfigboard.mk
oops, forgot to change those when i copied the folder
2019-01-14 14:43:34 -05:00
Scott Shawcroft
6c1d671c7e
Merge pull request #1459 from TG-Techie/master
add Datalore IP M4 to the atmel boards folder
2019-01-13 23:10:35 -08:00
Roy Hooper
be9caeb915 update translations 2019-01-13 23:52:05 -05:00
Roy Hooper
ffe734edf7 Fresh combined checkin of _pixelbuf library. 2019-01-13 23:51:13 -05:00
TG-Techie
ef6c9e7df6 removed commented code 2019-01-12 23:19:40 -05:00
TG-Techie
309a02efa1 added datalore ip m4 to boards 2019-01-12 23:06:12 -05:00
Dan Halbert
9678a5a328
Merge pull request #1458 from dhalbert/winbond-8mb
support winbond 8MB chips on all boards that might use them
2019-01-12 15:38:09 -05:00
Dan Halbert
5f9980fb6b support winbond 8MB chips on all boards that might use them 2019-01-12 13:24:35 -05:00
Dan Halbert
42e95e2877
Merge pull request #1455 from yeyeto2788/master
Spanish translations
2019-01-12 11:32:15 -05:00
Scott Shawcroft
c5e1f0b6af
Merge pull request #1457 from dhalbert/grand-central-i2c-fix
Use correct SERCOM for SDA/SCL on Grand Central
2019-01-11 17:01:32 -08:00
Dan Halbert
6eecf96710 Use correct SERCOM for SDA/SCL on Grand Central 2019-01-11 19:06:46 -05:00
Scott Shawcroft
62a8cc2825
Merge pull request #1453 from tannewt/text_on_pyportal
Enable the display on pyportal
2019-01-11 10:33:16 -08:00
Juan Biondi
948cc03031
Update es.po 2019-01-11 17:12:01 +01:00
Juan Biondi
135b50a650
Update es.po 2019-01-11 09:53:51 +01:00
Scott Shawcroft
b2cec6275c
Fix screen rotation and reset pin 2019-01-11 00:10:41 -08:00
Scott Shawcroft
573c6d60ba
Merge pull request #1446 from dhalbert/bleio-rev
Initial rewrite of bleio
2019-01-10 19:59:17 -08:00
Dan Halbert
c863ad442f Remove duplicate msg from pt_BR.po 2019-01-10 21:32:21 -05:00
Dan Halbert
50ee5ef24c merge translations; add bleio comments; fix minor sphinx issues in midi 2019-01-10 21:12:17 -05:00
Dan Halbert
c80b5f4f4c make translate 2019-01-10 20:56:48 -05:00
Scott Shawcroft
6594937a65
Support rendering groups inside groups 2019-01-10 17:30:16 -08:00
Scott Shawcroft
19db886645
Support the display on the pyportal.
Also fix #1390, reload during sleep broken.
2019-01-10 17:29:34 -08:00
Dan Halbert
516d7da641
Merge pull request #1449 from tannewt/midi
Add USB MIDI support for SAMD and nRF.
2019-01-10 19:49:33 -05:00
Scott Shawcroft
16b4fa7ea7
Merge pull request #1445 from chalei/chalei-ID-translate
Create ID.po to Merge Bahasa Indonesia String internationalization
2019-01-10 12:08:44 -08:00
Scott Shawcroft
580f73df94
Merge pull request #1450 from ShawnHymel/master
Added support for SparkFun SAMD21 Mini Breakout
2019-01-10 11:20:33 -08:00
Scott Shawcroft
41d3ea231b
Add new translation messages 2019-01-10 11:06:45 -08:00
Scott Shawcroft
3dd59c3d5f
Polish thanks to Dan's feedback 2019-01-10 11:00:40 -08:00
Shawn Hymel
bbf77a7efb
Merge branch 'master' into master 2019-01-10 12:50:05 -06:00
Shawn Hymel
62ea1bd43e
Added SparkFun SAMD21 mini to travis.yml 2019-01-10 12:48:13 -06:00
Scott Shawcroft
07ae65dfc7
Merge pull request #1408 from hathach/nrf52_pulsein
added pulsein using nrfx gpiote (gpio interrupt)
2019-01-10 10:30:40 -08:00
Juan Biondi
a6e0ea3e23
Merge pull request #3 from adafruit/master
Add latest changes on repo
2019-01-10 17:21:30 +01:00
hathach
ee410b2cf1 Merge branch 'master' into nrf52_pulsein 2019-01-10 10:54:40 +07:00
Dan Halbert
d3b8581ce0 fix merge conflicts; address some comments 2019-01-09 19:59:48 -05:00
ShawnHymel
5c15a19c32 Added SparkFun SAMD21 Mini port 2019-01-09 16:12:43 -06:00
Scott Shawcroft
dabb8ffdaa
Merge pull request #1448 from dhalbert/sphinx-fixes
Fix sphinx build issues; add better travis fold reporting; update aut…
2019-01-09 14:04:03 -08:00
Scott Shawcroft
b5e40f52c2
Add USB MIDI support for SAMD and nRF.
The API should be identical to using a UART for MIDI.

Fixes #672
2019-01-09 14:02:11 -08:00
Dan Halbert
d41ed768dc Fix sphinx build issues; add better travis fold reporting; update author info 2019-01-09 16:22:19 -05:00
Dan Halbert
382467904a bad status check in .travis.yml 2019-01-09 14:42:24 -05:00
Dan Halbert
617c23618b make translate 2019-01-09 14:00:17 -05:00
Dan Halbert
e47decbdc5 improve travis fold status reporting; fix sphinx build; fix sphinx errors 2019-01-09 13:32:45 -05:00
Dan Halbert
47a9d14ba6 try to fix travis fold status reporting 2019-01-09 12:07:50 -05:00
Dan Halbert
89af666093 fix sphinx complaint; more travis fold status reporting 2019-01-09 10:36:38 -05:00
Dan Halbert
5fc28970b4 Remove download_ble_stack.sh from .travis.yml; it was deleted because we don't need it anymore. 2019-01-09 09:13:56 -05:00
hathach
f366e3feea Merge branch 'master' into nrf52_pulsein 2019-01-09 20:39:35 +07:00
hathach
cfc4c8cbfa
minor clean up 2019-01-09 15:43:54 +07:00
hathach
db82160eef
fix pulsein incorrect compute 2019-01-09 15:15:30 +07:00
Dan Halbert
0599fbf7d8 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2019-01-08 16:40:12 -05:00
Dan Halbert
13d607698e m_tx_in_progress might underflow (check on this) 2019-01-08 16:37:14 -05:00
Dan Halbert
50641c4152 remove debugging printf's 2019-01-08 15:52:21 -05:00
Hendra Kusumah
1c47cb24af
Create ID.po 2019-01-09 02:21:20 +07:00
Hendra Kusumah
dda139a557
Delete ID.po 2019-01-09 02:19:18 +07:00
Hendra Kusumah
ea7791f66e
Create ID.po
try to merge
2019-01-09 02:00:45 +07:00
Hendra Kusumah
025852c805
Merge pull request #1 from adafruit/master
update from original
2019-01-09 01:46:55 +07:00
Dan Halbert
172311fad8
Merge pull request #1442 from tannewt/pyportal
Initial pass at pyportal board define.
2019-01-07 22:52:59 -05:00
Dan Halbert
f66f55b4ed add CharacteristicBuffer; UART seems to work! 2019-01-07 22:46:20 -05:00
ShawnHymel
a00420bafd Added pinout for SparkFun SAMD21 Mini Breakout on README. 2019-01-07 17:26:38 -06:00
Scott Shawcroft
a49683e93f
Build with Travis 2019-01-07 15:00:23 -08:00
Scott Shawcroft
d3aeca104e
Initial pass at pyportal board define. 2019-01-07 14:56:54 -08:00
ShawnHymel
180c7b4b79 Trying iframe in rst again^3. 2019-01-07 16:35:47 -06:00
ShawnHymel
4d3ae04e2b Trying iframe in rst again again. 2019-01-07 16:31:52 -06:00
ShawnHymel
04b9a789ff Trying iframe in rst again. 2019-01-07 16:28:14 -06:00
ShawnHymel
2df3e7b0fc Updated README with embedded spreadsheet 2019-01-07 16:25:34 -06:00
hathach
215008f78c
clean up neopixel write !! 2019-01-08 00:21:31 +07:00
Dan Halbert
a77b2363ef evt handler list bugs; unique evt handler names; remove uuid128_reference 2019-01-03 21:42:42 -05:00
Dan Halbert
8dea6f53bb forgot to store data when reading a gatts value 2019-01-03 14:16:41 -05:00
Dan Halbert
ccb3c6fac6 Remove print methods from bleio; Python lib will do it 2019-01-03 10:51:49 -05:00
Dan Halbert
c46d06f34c Move 128-bit UUID string parsing to Python; simplify UUID API 2019-01-02 23:11:03 -05:00
Dan Halbert
87c6f33bcc Broadcaster now takes whole packet. Also should be scannable 2019-01-01 14:11:59 -05:00
Dan Halbert
941ccf87c8 don't free event handler list manually; let gc do it 2018-12-31 09:02:43 -05:00
Dan Halbert
b6b5ed9c89 Remove nRF52832 support 2018-12-30 22:49:20 -05:00
Dan Halbert
1dc3957e72 LocalPeripheral is now Peripheral; more work on basic GATTS support; UART not working yet 2018-12-30 22:33:49 -05:00
Dan Halbert
ef39e72c7c free event handlers on reset; fix typo in Broadcaster 2018-12-29 13:55:10 -05:00
Dan Halbert
de7cadb9b2 fix typos in internal_flash.c 2018-12-29 00:08:04 -05:00
Dan Halbert
145e110915 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-29 00:00:39 -05:00
Dan Halbert
4d1f0ec07b Add Broadcaster. Reset correctly on reload. 2018-12-28 23:34:23 -05:00
Kattni
555da95cf5
Merge pull request #1433 from adafruit/add-image-badge
Added header image and license badge
2018-12-28 16:19:18 -06:00
Kattni
a48a08d314
Added header image and license badge 2018-12-28 13:43:14 -06:00
Kattni
0757f54882
Merge pull request #1432 from adafruit/license-badge
Adding MIT license badge
2018-12-28 13:39:21 -06:00
Kattni
715064abeb
Adding MIT license badge 2018-12-28 12:43:37 -06:00
Dan Halbert
84060e6124
Merge pull request #1431 from hathach/nrf52_i2c_1kb
fix #1422 correct i2c max xfer len (size in bits)
2018-12-28 10:02:13 -05:00
hathach
6b0d93cea3
correct i2c max len 2018-12-28 21:14:27 +07:00
hathach
a4ee80832a
fix #1422 correct i2c max xfer len (size in bits) 2018-12-28 16:30:11 +07:00
Dan Halbert
e699d107a1
Merge pull request #1430 from adafruit/header-logo
Adding header logo resized
2018-12-27 22:29:06 -05:00
Kattni
a8486c6b7e
Adding header logo resized 2018-12-27 18:05:07 -06:00
Dan Halbert
dcdd82ce85
Merge pull request #1428 from hathach/nrf52_esp83266_uart_bug
Nrf52 esp83266 uart bug
2018-12-27 15:38:29 -05:00
hathach
3ee766bc01
put received bytes to fifo when error 2018-12-28 01:05:30 +07:00
hathach
d092722ae8
fix #1407 keep receiving in case of error 2018-12-28 00:40:29 +07:00
Dan Halbert
ddf0d3fc53
Merge pull request #1427 from jerryneedell/jerryn_argon
remove FRAMEBUF from nrf builds - use QSPI for particle ARGON
2018-12-27 10:12:30 -05:00
Jerry Needell
55084b30ef remome FRAMEBUF from nrf builds - use QSPI for particle ARGON 2018-12-27 09:38:35 -05:00
Dan Halbert
4167bf5b24 wip: advertising works, but not connection 2018-12-27 00:04:04 -05:00
Dan Halbert
6d60b817f3
Merge pull request #1418 from dhalbert/feather52840-rgb-qspi-fixes
Don't check for corrupt heap too early; Fix QSPI timing
2018-12-26 17:53:06 -05:00
Dan Halbert
60a509bea1
Merge pull request #1426 from arofarn/update-fr
Updated fr.po
2018-12-26 15:17:35 -05:00
Pierrick C
5c776db9b1 make translate 2018-12-26 20:50:24 +01:00
Pierrick C
0b35227bf5 Updated fr.po 2018-12-26 18:54:37 +01:00
Dan Halbert
4f25cc1cbd
Merge pull request #1419 from eighthree/4.x-Tagalog-Language-Update
Updated Tagalog translations
2018-12-26 10:30:49 -05:00
Dan Halbert
c8397b098e
Merge pull request #1417 from CarlFK/tinytest-t
Sync with micropython. closes #1414
2018-12-26 10:19:58 -05:00
Dan Halbert
f5b15c9b4d Merge remote-tracking branch 'origin/feather52840-rgb-qspi-fixes' into bleio-rev 2018-12-21 21:28:24 -05:00
Dan Halbert
0dfe2dbff0 return error status on more routines; minor simplification of freq setting 2018-12-21 12:30:54 -05:00
eighthree
9c26c5829e Update fil.po
Minor word change
2018-12-20 22:16:42 -08:00
eighthree
e312b93cb0 Update Tagalog translations
- Modified changed strings
- Added new translations
2018-12-20 22:12:38 -08:00
Dan Halbert
bce6d124af Don't check for corrupt heap too early; Fix QSPI timing 2018-12-20 21:28:36 -05:00
Carl Karsten
5f3a259827 Sync with micropython. closes #1414 2018-12-20 18:44:39 -06:00
Dan Halbert
ca60a034c7
Merge pull request #1411 from adafruit/ladyada-patch-1
Update README.rst
2018-12-19 14:19:43 -05:00
Limor "Ladyada" Fried
a9f0b31a15
Update README.rst
https://github.com/adafruit/circuitpython/issues/1410
2018-12-19 13:25:18 -05:00
hathach
6752266673 added pulsein using gpiote (gpio interrupt) 2018-12-18 22:05:17 +07:00
Dan Halbert
bfa66861ef Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-13 16:33:15 -05:00
Dan Halbert
5e4b3a8fb6
Merge pull request #1402 from hathach/nrf_uartio_fix
use rbuf for busio uart
2018-12-13 15:47:02 -05:00
hathach
b37b2fa7e7 overwrite old data if fifo is full 2018-12-13 23:56:06 +07:00
hathach
e136222ae2 use rbuf for busio uart 2018-12-13 23:48:53 +07:00
Juan Biondi
749b2b0aac
Merge pull request #2 from adafruit/master
Get latest
2018-12-12 21:05:16 +01:00
Scott Shawcroft
6773fe6a42
Merge pull request #1400 from TG-Techie/patch-1
the logo dir's contents don't match readme description
2018-12-12 11:21:57 -08:00
Dan Halbert
9e97f9e406
Merge pull request #1401 from dhalbert/travis-ci-com
Update badge to travis-ci.com
2018-12-12 12:31:54 -05:00
Dan Halbert
87073b4fbe Update badge to travis-ci.com 2018-12-12 11:58:46 -05:00
TG-Techie
1361391ed9
the logo dir's contents don't match readme description 2018-12-12 08:51:16 -05:00
Scott Shawcroft
69bb4ae670
Merge pull request #1397 from ShawnHymel/master
Added board support for Arduino MKR Zero
2018-12-11 13:09:27 -08:00
Dan Halbert
17255bc065
Merge pull request #1399 from tannewt/default_nrf_to_uf2
Default nrf boards to UF2
2018-12-11 15:21:41 -05:00
Scott Shawcroft
29f9794dcf
Curly brace change to make it more consistent
And to queue Travis
2018-12-11 11:57:52 -08:00
Scott Shawcroft
b1c882a26b
Default nrf boards to UF2 2018-12-11 11:51:07 -08:00
Scott Shawcroft
70939ad517
Merge pull request #1395 from jerryneedell/jerryn_cpython
enable MICROPY_CPYTHON_COMPAT
2018-12-11 10:54:17 -08:00
ShawnHymel
a9d2bfada4 Removed test suite. Fixed links in main README. 2018-12-11 12:33:11 -06:00
Scott Shawcroft
ed8ee24fcc
Merge pull request #1367 from sparkfun/master
Adding SparkFun nRF52840 Mini board support
2018-12-10 21:27:30 -08:00
Scott Shawcroft
8fc72e8978
Add SPI and I2C to SparkFun nRF52840 mini definition and add it to Travis. 2018-12-10 20:32:19 -08:00
Scott Shawcroft
8a981dc8e8
Merge remote-tracking branch 'adafruit/master' into sfe840 2018-12-10 20:13:36 -08:00
Nick Moore
1dc4c4757e touchio.TouchIn sensing working on a single pin! adafruit/circuitpython#1048 2018-12-11 14:33:35 +11:00
Dan Halbert
c3c600dfa3
Merge pull request #1394 from tannewt/fix_board_info
Fix build board info for python3.5
2018-12-10 17:09:43 -05:00
Jerry Needell
a90343022a enble MICROPYTHON_CPYTHON_COMPAT - fix mpconfigport.h to allow and enable a few more items for compatiblilty with other builds 2018-12-10 16:35:40 -05:00
Scott Shawcroft
4f7380147d
Merge pull request #1393 from tannewt/use_file_glob
Use file glob for release files
2018-12-10 13:19:28 -08:00
Scott Shawcroft
96e65fa641
Fix build board info for python3.5 2018-12-10 13:17:05 -08:00
Scott Shawcroft
f9862f1c15
Use file glob for release files 2018-12-10 12:55:35 -08:00
Dan Halbert
21e2928313
Merge pull request #1392 from tannewt/strip_version
Strip a newline from the version tag.
2018-12-10 13:55:42 -05:00
Scott Shawcroft
7da85f5a4f
Strip a newline from the version tag. 2018-12-10 10:13:09 -08:00
Nick Moore
901db4797e progress on NRF touchio.TouchIn #1048 2018-12-09 16:48:33 +11:00
ShawnHymel
f8ded46ad6 Merged field in pin table in README. 2018-12-08 17:42:42 -06:00
ShawnHymel
4c81d9a9ac Added SD_CD pin definition 2018-12-08 17:40:46 -06:00
ShawnHymel
a3f46a3ccb Removed mpy-cross binary 2018-12-08 17:00:04 -06:00
ShawnHymel
7d6ceeac56 Renamed doc to docs and updated README with rst. 2018-12-08 16:58:51 -06:00
ShawnHymel
9d6d94b5f5 Renamed image 2018-12-08 16:48:26 -06:00
ShawnHymel
52dbbcb23f Added board test suite 2018-12-08 16:47:17 -06:00
Dan Halbert
2b739e1eb6
Merge pull request #1386 from tannewt/uf2s_for_particle
Build UF2s for the particle boards
2018-12-07 22:02:09 -05:00
Dan Halbert
2a5891809a
Merge pull request #1385 from tannewt/fix_background_task
Fix running the USB task on nRF.
2018-12-07 22:01:50 -05:00
Scott Shawcroft
06c4938120
Build UF2s for the particle boards 2018-12-07 17:37:25 -08:00
Scott Shawcroft
801d9a5abc
Fix running the USB task on nRF.
It wasn't being run due to a rework done only on the atmel-samd port.
The rework itself isn't needed now that the heap check triggers safe
mode instead of throwing a Python exception. So, I've removed the
rework.
2018-12-07 16:11:21 -08:00
Dan Halbert
a7a24096f4 bleio WIP: redo for more immutability; use sd_* routines for internal flash write 2018-12-07 16:52:47 -05:00
Dan Halbert
2fbaceb2b1
Merge pull request #1294 from tannewt/stack_check
Add stack validity check and raise an error when it happens.
2018-12-07 15:34:43 -05:00
Scott Shawcroft
89ef6eef57
Fix unused parameter 2018-12-07 09:56:35 -08:00
Scott Shawcroft
df84da5913
Stub out serial_write as well 2018-12-07 09:32:37 -08:00
Scott Shawcroft
808ca676b6
Fix unix 2018-12-06 17:12:30 -08:00
Scott Shawcroft
288ec84c21
Update translations 2018-12-06 17:04:22 -08:00
Dan Halbert
481c4954af
Merge pull request #1383 from tannewt/switch_back_to_hathach_tinyusb
Switch TinyUSB back to hathach's version.
2018-12-06 19:51:59 -05:00
Scott Shawcroft
332ea8853f
Macro guard VDDH inclusion. 2018-12-06 16:38:14 -08:00
Scott Shawcroft
817766acdc
Use the stub for ESP8266 as well. 2018-12-06 15:47:16 -08:00
Scott Shawcroft
45b301856c
Switch TinyUSB back to hathach's version. The merge commit of the commit we were on. 2018-12-06 15:39:47 -08:00
Scott Shawcroft
df6c8eaed7
Add stack.c stub for mpy-cross 2018-12-06 15:29:26 -08:00
Scott Shawcroft
6ef8639971
Rework safe mode and have heap overwrite trigger it.
This creates a common safe mode mechanic that ports can share.
As a result, the nRF52 now has safe mode support as well.

The common safe mode adds a 700ms delay at startup where a reset
during that window will cause a reset into safe mode. This window
is designated by a yellow status pixel and flashing the single led
three times.

A couple NeoPixel fixes are included for the nRF52 as well.

Fixes #1034. Fixes #990. Fixes #615.
2018-12-06 14:24:20 -08:00
Dan Halbert
125901e4e2 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-06 12:41:38 -05:00
Dan Halbert
ca3c992037
Merge pull request #1379 from dhalbert/flush-output-to-travis
make sure travis sees some output in time
2018-12-05 16:18:55 -05:00
Dan Halbert
58f230d632 make sure travis sees some output in time 2018-12-05 15:01:58 -05:00
Scott Shawcroft
56b71281b3
Merge pull request #1378 from dhalbert/fix-build_release_files-on-travis
build_release_files.py hanging on travis
2018-12-05 09:29:58 -08:00
Dan Halbert
d2398dacfe restored to old version 2018-12-05 10:37:55 -05:00
Dan Halbert
396248d4f9 testing 2018-12-05 10:31:44 -05:00
Scott Shawcroft
7ad2e6ace3
Add stack validity check and raise an error when it happens.
The backtrace cannot be given because it relies on the validity
of the qstr data structures on the heap which may have been
corrupted.

In fact, it still can crash hard when the bytecode itself is
overwritten. To fix, we'd need a way to skip gathering the
backtrace completely.

This also increases the default stack size on M4s so it can
accomodate the stack needed by ASF4s nvm API.
2018-12-04 23:26:04 -08:00
Dan Halbert
4b5edd3c03
Merge pull request #1376 from tannewt/particle
Add Particle boards and hopefully speed up the SAMD build a little
2018-12-04 22:14:40 -05:00
Scott Shawcroft
f59c3bd726
Add flag comment 2018-12-04 18:22:23 -08:00
Scott Shawcroft
b0da9ac780
Don't capture output 2018-12-04 18:20:51 -08:00
Scott Shawcroft
b25bf062fb
Add correct flash chip for Particle Mesh boards 2018-12-04 18:20:51 -08:00
Scott Shawcroft
3f5d917b39
Update submodules to merge commits 2018-12-04 18:20:51 -08:00
Scott Shawcroft
15c1fc873c
Add particle boards, fix cp32 and try to speed up atmel build 2018-12-04 18:20:48 -08:00
Scott Shawcroft
dbd3a77908
Merge pull request #1375 from dhalbert/uart-timeout-interrupt
allow KeyboardInterrupt on UART read; fix nrf UART pin claiming; rename feather 52840 UART pins
2018-12-04 13:47:25 -08:00
Dan Halbert
8b034b8d1d update translations 2018-12-04 16:17:31 -05:00
Dan Halbert
63cd9209f1 allow KeyboardInterrupt on UART read; fix nrf UART pin claiming; rename feather 52840 UART pins 2018-12-04 15:05:39 -05:00
Nick Moore
452a622459 Set up structure for touchio adafruit/circuitpython#1048 (does nothing yet) 2018-12-04 17:12:02 +11:00
Dan Halbert
7f6da78be3
Merge pull request #1344 from bwshockley/master
Add Mini SAM M4 board.
2018-12-03 17:37:23 -05:00
Scott Shawcroft
1b4359eaec
Merge pull request #1372 from dhalbert/pyserial-compat-for-uart
UART changes: timeout in secs, write bytes, etc.
2018-12-03 14:20:44 -08:00
Dan Halbert
963a9a7428 update translations 2018-12-03 15:57:27 -05:00
Scott Shawcroft
b3575180e1
Merge pull request #1373 from dhalbert/audio-quiescent-value-int
Fix arg type for AudioOut(..., quiescent_value=...)
2018-12-03 09:44:52 -08:00
Dan Halbert
80db2cec99 UART changes: timeout in secs, write bytes, etc. 2018-12-03 12:04:32 -05:00
Dan Halbert
72e3cfdfb8 Fix arg type for AudioOut(..., quiescent_value=...) 2018-12-03 11:20:33 -05:00
Scott Shawcroft
7a52712b38
Merge pull request #1364 from yeyeto2788/master
Add some msgstr translations
2018-12-02 22:36:06 -08:00
ShawnHymel
3d597aae92 Added MKR Zero board definition. 2018-12-02 18:07:19 -06:00
Juan Biondi
e766f6e4ad
Merge pull request #1 from adafruit/master
Get latest version
2018-12-02 21:51:47 +01:00
Scott Shawcroft
9aebe2f1ef
Merge branch 'master' into master 2018-11-30 20:49:55 -08:00
Dan Halbert
57c2c4134c
Merge pull request #1347 from tannewt/gc_rev_b
Update for Grand Central Rev B
2018-11-30 20:17:05 -05:00
Scott Shawcroft
c55183f71a
Merge remote-tracking branch 'adafruit/master' into gc_rev_b 2018-11-30 15:09:15 -08:00
Scott Shawcroft
48928d4b25
Auto build and a couple pin fixes 2018-11-30 15:08:06 -08:00
Scott Shawcroft
3fa8796668
Merge remote-tracking branch 'adafruit/master' into mini_sam 2018-11-30 15:01:03 -08:00
Scott Shawcroft
dbc7e7c16b
Auto build mini-sam 2018-11-30 14:58:58 -08:00
Scott Shawcroft
77760090e2
Fix up spi flash define 2018-11-30 14:55:06 -08:00
Dan Halbert
57b61a9141
Merge pull request #1366 from tannewt/update_website_with_release
Add support for adding release info into adafruit/circuitpython-org
2018-11-30 17:48:02 -05:00
Scott Shawcroft
95e0309263
Merge remote-tracking branch 'adafruit/master' into mini_sam 2018-11-30 14:40:01 -08:00
Scott Shawcroft
754d6afd16
Undo uzlib change 2018-11-30 14:36:46 -08:00
jimblom
09316b35d7 remove non-broken-out nrf pins. re-organize pins.c list. 2018-11-30 14:58:36 -07:00
Scott Shawcroft
6e15ab6385
Stop ignoring SD hex files and improve the error when its missing. 2018-11-30 13:26:12 -08:00
Scott Shawcroft
df18d22a93
Capture stderr as well and work on nRF build 2018-11-30 12:59:05 -08:00
jimblom
f67814fc97 Adding SparkFun nRF52840 Mini board support. 2018-11-30 13:57:22 -07:00
Scott Shawcroft
cf70dc4f1c
Fix BLE build 2018-11-30 11:53:33 -08:00
Scott Shawcroft
56345ff997
A few tweaks based on review feedback 2018-11-30 10:58:27 -08:00
Juan Biondi
e7fda9c4be
Fix error on line 1901 2018-11-30 16:17:56 +01:00
Juan Biondi
e26fcd15db
Fix error on line 1900 2018-11-30 16:12:47 +01:00
Scott Shawcroft
9d07e95351
Add support for adding release info into adafruit/circuitpython-org
This also changes the build script to python with better output.
2018-11-30 00:30:57 -08:00
Juan Biondi
99c1f4f375 Add other strings. 2018-11-30 07:35:48 +01:00
Juan Biondi
2eb4fe6469 Missing typo fixed 2018-11-30 07:20:35 +01:00
Juan Biondi
dcd1e419c0 Fix typos found on PR 2018-11-30 07:17:37 +01:00
Juan Biondi
fa041bddc2 Add other msgstr translated. 2018-11-29 16:32:06 +01:00
Juan Biondi
7d8e63c05b Add some msgstr translations 2018-11-29 15:23:42 +01:00
Dan Halbert
ab94344bae
Merge pull request #1360 from adafruit/tannewt-patch-5
Make sure the commit builds include version info
2018-11-28 09:00:24 -05:00
Scott Shawcroft
f13fac0fb4
try 3 2018-11-28 00:19:17 -08:00
Scott Shawcroft
f4e7d7fbb4
Try to get the last tag. 2018-11-27 23:59:02 -08:00
Scott Shawcroft
272be10914
Fetch back to 4.0.0-alpha.2 so Travis has the latest tags 2018-11-27 23:29:30 -08:00
Scott Shawcroft
c47c495aca
Merge pull request #1329 from notro/oserror_errno
Support OSError subclasses and attributes
2018-11-27 22:35:54 -08:00
Dan Halbert
f6c73b35f9
Merge pull request #1323 from notro/os_mkdir_a_b
shared-module/os: Fix os.mkdir('a/b')
2018-11-27 17:08:51 -05:00
Scott Shawcroft
913b513929
Merge pull request #1357 from ElectronicCats/add-electroniccats-catwan-usbstick
Added board Electronic Cats CatWAN USB Stick
2018-11-27 11:58:26 -08:00
Scott Shawcroft
60480ff4ed
Merge pull request #1351 from jepler/issue1307-ujson
json: enable on nrf boards and "large flash" M4 samd boards
2018-11-27 11:29:29 -08:00
Dan Halbert
4e8531f4a2
Merge pull request #1358 from tannewt/fix_840_qspi
Fix QSPI on Feather nRF52840
2018-11-27 08:38:35 -05:00
Scott Shawcroft
d446d328d8
Fix QSPI on Feather nRF52840
We were writing with quad page program including the address (0x38)
which is unsupported by the GD25Q16C but it is supported by the
flash on the DK. So, we use the single address, quad data command
(0x32).
2018-11-27 00:13:24 -08:00
Dan Halbert
027ed82c2c
Merge pull request #1356 from tannewt/xenial_travis
Update to Xenial on Travis
2018-11-27 00:06:35 -05:00
Dan Halbert
3164b16196 WIP: debug; add hash and __eq__ to UUID 2018-11-26 21:09:17 -05:00
sabas1080
a053eb2205 auto-built and documentation 2018-11-26 14:51:04 -06:00
sabas1080
1da2425612 Add Electronic Cats CatWAN USB Stick 2018-11-26 14:39:58 -06:00
Scott Shawcroft
0c55ddf0fc
Update to Xenial on Travis 2018-11-26 11:53:03 -08:00
Dan Halbert
6fb7590280 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-11-26 10:16:29 -05:00
Dan Halbert
292737fa2b
Merge pull request #1354 from tannewt/nrf_feather_fixes
A few fixes for nRF52840 feather QSPI and neopixel
2018-11-23 22:30:40 -05:00
Scott Shawcroft
15eeac5d4b
A few fixes for nRF52840 feather QSPI and neopixel 2018-11-23 14:22:07 -08:00
Scott Shawcroft
e77c06e8c3
Merge pull request #1353 from tannewt/usb_update
Update tinyusb to include control fixes.
2018-11-23 13:52:39 -08:00
Scott Shawcroft
324301e3bc
Update tinyusb to include control fixes. 2018-11-23 13:28:10 -08:00
Limor "Ladyada" Fried
3ca74d8693
Merge pull request #1349 from dhalbert/feather52840-pins
Latest Feather nRF52840 pin revisions
2018-11-22 19:48:43 -08:00
52fd151c9c ports/nrf: enable json module on nrf boards generally 2018-11-22 10:35:57 -06:00
78972cc879 ports/atmel-samd: enable json module on M4 boards with lots of flash 2018-11-22 10:35:44 -06:00
Dan Halbert
5fe746f643 Latest Feather nRF52840 pin revisions 2018-11-21 19:46:49 -05:00
Kattni
f0d02fcbf0
Merge pull request #1348 from sommersoft/fix_drivers
Fix Driver RTD Links
2018-11-21 14:30:30 -05:00
sommersoft
4254ae6d5b add 74HC595 2018-11-21 13:05:02 -06:00
sommersoft
59430ea26d fix L3GD20 link 2018-11-21 12:58:11 -06:00
sommersoft
d7aa790e4b add trailing '/' to links missing them 2018-11-21 12:55:01 -06:00
Dan Halbert
1763ffe245 More UUID work; use mp_raise for exceptions 2018-11-20 23:04:58 -05:00
Dan Halbert
c424ad844b Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-11-20 14:47:05 -05:00
Benjamin Shockley
69eb2efced
Update devices.h 2018-11-20 13:21:43 -06:00
dean
1bf6c588e7 DM: mixer voice stuff 2018-11-20 14:14:22 -05:00
Scott Shawcroft
7d1a62e4ba
Update for Grand Central Rev B 2018-11-20 10:54:13 -08:00
Benjamin Shockley
c344d48840
Update devices.h 2018-11-20 12:44:12 -06:00
Dan Halbert
31cc71f7fb WIP: bleio revisions 2018-11-20 09:36:45 -05:00
Scott Shawcroft
b823cbd089
Merge pull request #1345 from C47D/fix_monotonic_ns
Fix time.monotonic_ns docstring
2018-11-18 21:53:23 -08:00
Carlos
060b84a0fa Remove reference to clock_id on the function descriptiions 2018-11-18 10:43:28 -06:00
Carlos
55a9e2d697 Fix time.monotonic_ns docstring 2018-11-18 10:41:35 -06:00
Benjamin Shockley
05ff3feea5 Merge branch 'master' of https://github.com/bwshockley/circuitpython 2018-11-16 09:52:50 -06:00
Benjamin Shockley
acb9bd7618 Cleanup for Mini SAM M4 Only
Remvoed older files and cleaned up repository to reflect changes for Mini SAM M4.
2018-11-16 09:46:08 -06:00
Scott Shawcroft
0ea31ec15d
Merge pull request #1339 from dhalbert/3.x-frozen-swap
Merge 3.x .frozen and /lib swap on sys.path; update frozen libs
2018-11-15 12:52:54 -08:00
dean
feef177858 DM: in progress mixer voice 2018-11-15 15:04:11 -05:00
Dan Halbert
11de8fdca7 merge 3.x swap of /lib and .frozen; update frozen libs 2018-11-15 15:00:23 -05:00
dean
dd05aafb9b DM: adding mixer voice API 2018-11-15 14:11:45 -05:00
Dan Halbert
3ace9ea9ea
Merge pull request #1333 from sommersoft/drivers_page
Update Core Drivers Page [3.x]
2018-11-14 23:40:56 -05:00
sommersoft
3f9b0f764d remove pca10056 from 3.x .travis.yml too 2018-11-14 22:18:32 -06:00
sommersoft
df663e42e9 remove pca10056 from 3.x travis builds 2018-11-14 22:02:19 -06:00
Dan Halbert
7e2a3bf52e
Merge pull request #1338 from tannewt/fix_nrf_internal_flash
Fix nrf internal flash
2018-11-14 22:54:23 -05:00
Scott Shawcroft
b67c53edfa
Factor out of external flash as well.
Plus some cleanup.

Fixes #1324
2018-11-14 18:30:47 -08:00
Kattni
9be61fec41
Merge pull request #1334 from sommersoft/new_master
Update Core Drivers Page [master]
2018-11-14 21:28:41 -05:00
Scott Shawcroft
87ddd64481
Factor out fake partition 2018-11-14 17:59:11 -08:00
Scott Shawcroft
47212ee31e
start debug 2018-11-14 17:21:48 -08:00
Dan Halbert
7b4521f039
Merge pull request #1336 from tannewt/tinyusb_samd_setup_fix
Update TinyUSB with SAMD fixes.
2018-11-14 18:25:45 -05:00
dean
59c6ed34fd DM: mixer voice object skeleton 2018-11-14 18:05:29 -05:00
Scott Shawcroft
fd3178b2fe
Update TinyUSB with SAMD fixes.
Fixes #1327
2018-11-14 14:54:00 -08:00
sommersoft
e2bfe91700 i have no more words... 2018-11-13 23:37:27 -06:00
sommersoft
c669f7563c git diff review fail before push... 2018-11-13 23:32:50 -06:00
sommersoft
a7a66e9399 fix led-animation url; it has 2 valid urls... 2018-11-13 23:28:23 -06:00
sommersoft
b68517fbab replaced scrubbed drivers 2018-11-13 23:24:53 -06:00
sommersoft
028915d6f7 update /docs/drivers.rst page; 19 drivers added 2018-11-13 19:45:11 -06:00
sommersoft
a42515abbc update /docs/drivers.rst page; 19 drivers added 2018-11-13 19:41:40 -06:00
Noralf Trønnes
704d0c606b samd51: Support more uerrno errno values
Use the default MICROPY_PY_UERRNO_LIST to give libraries access to all the errno values.
2018-11-13 22:07:05 +01:00
Noralf Trønnes
c5aa2e9300 Support OSError attributes
This adds support for the OSError attributes : errno, strerror, filename and filename2.
CPython only sets errno if 2 arguments has been passed in. This has not been implemented here.

CPython OSError.args is capped at 2 items for backward compatibility reasons. This has not been
implemented here.

MICROPY_CPYTHON_COMPAT has to be enabled to get these attributes.

mp_common_errno_to_str() has been extended to check mp_errno_to_str() as well. This is done to ease
reuse for the strerror argument.
2018-11-13 22:04:44 +01:00
Dan Halbert
f190bb2c26
Merge pull request #1332 from tannewt/clear_trellis_neopixels
Clear Trellis NeoPixels on board reset.
2018-11-13 15:03:25 -05:00
Dan Halbert
c63376c5fa
Merge pull request #1331 from adafruit/tannewt-patch-4
Switch SAMD51 back to -Os
2018-11-13 14:35:32 -05:00
Scott Shawcroft
4ae4cc11e0
Clear Trellis NeoPixels on board reset.
This makes it easier to change code in cases where the pixels may
cause a brownout.
2018-11-13 11:27:18 -08:00
Scott Shawcroft
a3a690dc01
Add pragma to ensure neopixel_write is always -Os 2018-11-13 10:56:00 -08:00
Scott Shawcroft
ed9db80760
Switch SAMD51 back to -Os
It messes up neopixel timing otherwise.

Fixes #1326
2018-11-13 10:43:18 -08:00
Dan Halbert
50f5d27c43
Merge pull request #1325 from tannewt/fix_overruns
Fix output overflow and make help translatable
2018-11-09 23:35:22 -05:00
Scott Shawcroft
d012fd1553
Only write to usb when its around. 2018-11-09 17:06:55 -08:00
Scott Shawcroft
355abc835e
Fix output overflow and make help translatable 2018-11-09 16:41:08 -08:00
Dan Halbert
97bc95183d
Merge pull request #1321 from tannewt/tinyusb_samd
Move atmel-samd to tinyusb and support nRF flash.
2018-11-09 15:56:29 -05:00
Scott Shawcroft
43f7ca7985
Incorporate feedback:
* Clean up board defines.
* Add flush on eject and stay ejected.
* Swith back to NONE protocol for CDC.
2018-11-09 11:33:56 -08:00
Noralf Trønnes
28383afa11 shared-module/os: Fix os.mkdir('a/b')
This fixes commit a99f9427420d("'/' and '\' are also acceptable ends of the path now") which broke mkdir.
The problem is where the directory name is a single letter like this:
>>> os.mkdir('a')
>>> os.mkdir('a/b')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 17] File exists
>>> os.mkdir('a/bb')
>>>

I wasn't smart enough to fix this in the oofatfs library, so I did it in the os shared module by
creating a path lookup function for the os methods that only deals with directories. I reverted
the library change introduced by the aforementioned commit.

This means that os.stat and os.rename can't handle trailing slashes. This is to avoid allowing
filenames with trailing slashes to pass through. In order to handle trailing slashes for these
it would be necessary to check if it really is a directory before stripping. I didn't do this
since the original issue was to make os.chdir tolerate trailing slashes.

There's an open MicroPython issue #2929 wrt. trailing slashes and mkdir.
2018-11-09 19:20:56 +01:00
Scott Shawcroft
688f0e388b
Update MKR1300 board definition too 2018-11-09 00:49:02 -08:00
Scott Shawcroft
be6b49c712
Add back internal flash header and slim it down. 2018-11-09 00:27:18 -08:00
Scott Shawcroft
168e23e466
Build refinement to handle warnings and quiet output 2018-11-09 00:11:43 -08:00
Scott Shawcroft
9d91111b1b
Move atmel-samd to tinyusb and support nRF flash.
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.

Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
2018-11-08 17:25:30 -08:00
Scott Shawcroft
d08747d374
Merge pull request #1319 from dhalbert/origin/arturo182_bleio_pr_1289
Resubmit PR #1289, "WIP: bleio rewrite" by @arturo182
2018-11-07 12:03:46 -08:00
Dan Halbert
64d457dad9 bring bleio PR up to date 2018-11-07 14:12:22 -05:00
Scott Shawcroft
283e07254e
Merge pull request #1311 from caternuson/iss1303_wavefile
Add channels and bits_per_sample to audioio.WaveFile
2018-11-05 15:41:16 -08:00
caternuson
55cbeb6fc6 in doc string as well 2018-11-05 14:49:24 -08:00
caternuson
85fbdefe77 change channels to channel_count 2018-11-05 08:05:43 -08:00
Scott Shawcroft
f24c225664
Merge pull request #1312 from dhalbert/adafruit_nrfx
Use adafruit/nrfx fork of NordicSemiconductor/nrfx
2018-11-04 11:42:12 -08:00
Scott Shawcroft
adf9b2108f
Merge pull request #1317 from ATMakersBill/serial_bytes_avail_backport
Adding the serial_bytes_available() method to the 3.x branch
2018-11-04 11:40:15 -08:00
Scott Shawcroft
6aca9762c9
Merge pull request #1313 from siddacious/master
adding support for the CP32-M4
2018-11-04 11:26:14 -08:00
Limor "Ladyada" Fried
e1531854fd
Merge pull request #1318 from dhalbert/trellis-dotstar-pins
fix Trellis M4 DotStar pin assignments.
2018-11-04 07:55:19 -08:00
Dan Halbert
a15ed0b912 Fix Trellis M4 DotStar pin assignments. 2018-11-04 00:07:42 -04:00
ATMakersBill
bd4188a092 adding changes to mpconfigboard.mk to reduce memory usage on CPX per @danh 2018-11-03 14:42:27 -04:00
ATMakersBill
4f2f571536 Adding the serial_bytes_available() method to the 3.x branch 2018-11-03 14:01:30 -04:00
Dan Halbert
fa1edb2a01
Merge pull request #1314 from dhalbert/3.x-frozen-before-lib
3.x: put .frozen before /lib in sys.path; update frozen libraries
2018-11-02 08:49:33 -04:00
Dan Halbert
4dfba2f8ac put .frozen before /lib in sys.path; update frozen libraries 2018-11-01 19:57:10 -04:00
Bryan Siepert
844b674a1e adding support for the CP32-M4 2018-11-01 09:42:48 -07:00
Dan Halbert
a0aba2b9c0
Merge pull request #1309 from siddacious/master
Updating devices.h to add new devices, fix a typo and address #1239
2018-11-01 08:25:55 -04:00
Dan Halbert
e203ce9ce5 Use adafruit/nrfx fork of NordicSemiconductor/nrfx 2018-10-31 23:18:59 -04:00
caternuson
46f1a0719e add channels and bits_per_sample to audioio.WaveFile 2018-10-31 18:08:10 -07:00
dean
008799dc52 DM: adding mixer gain 2018-10-31 18:27:08 -04:00
Bryan Siepert
dc82fd556b Updating devices.h to add new devices, fix a typo and address #1239 2018-10-31 01:54:09 -07:00
Dan Halbert
7dc6b1da08
Merge pull request #1308 from Retoc/master
added more german translations
2018-10-30 23:19:49 -04:00
Retoc
1a3d467ba4 added more german translations 2018-10-31 00:41:11 +01:00
Dan Halbert
450c06ee09
Merge pull request #1302 from mchobby/master
fr.po
2018-10-28 15:51:53 -04:00
MCHobby
efaf09da31
Merge pull request #1 from mchobby/mchobby-patch-1
update fr.po
2018-10-28 14:47:20 +01:00
MCHobby
c7deb37d36
update fr.po
Add some French translation
2018-10-28 14:46:33 +01:00
Dan Halbert
bd79c0c0de
Merge pull request #1295 from ElectronicCats/mkr1300
Add board MKR1300 by Arduino
2018-10-26 20:15:20 -04:00
Dan Halbert
20bc52ae59
Merge pull request #1301 from ElectronicCats/third-party
Add new list for "third-party" or "non-Adafruit" boards to README
2018-10-26 20:14:04 -04:00
Scott Shawcroft
893bde1f78
Longer underline 2018-10-26 11:35:55 -07:00
Benjamin Shockley
cd0b2e31aa
Update mpconfigboard.h 2018-10-26 12:20:15 -05:00
Benjamin Shockley
aec39fd027 Updated to new D21G18 MCU
Updated MIni SAM M0 to new D21G18A MCU to match layout/design of M4
2018-10-26 12:09:59 -05:00
sabas1080
7a144413d1 Add "third-party" or "non-Adafruit" boards to README 2018-10-25 17:37:59 -05:00
Scott Shawcroft
fd89cdd197
Merge pull request #1236 from nickzoic/circuitpython/nickzoic/703-wiznet-5500-native
Circuitpython/nickzoic/703 wiznet 5500 native
2018-10-25 15:07:00 -07:00
sabas1080
ba98d4ce9c minor changes in auto-built 2018-10-25 16:11:49 -05:00
Nick Moore
bbf8334166 Fix build without network code 2018-10-25 13:14:27 +11:00
Nick Moore
c9279e8d3a Update translations 2018-10-25 12:54:39 +11:00
Nick Moore
f6482699a0 Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-25 12:20:50 +11:00
Nick Moore
9c904358a9 Merge branch 'circuitpython/nickzoic/703-wiznet-5500-native-dhcp' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-25 11:30:59 +11:00
Nick Moore
b714f5d650 Add "dhcp" property to turn DHCP on and off 2018-10-25 11:29:27 +11:00
Scott Shawcroft
dc9d338612
Merge pull request #1167 from notro/cpython_stdlib
Support CPython standard library
2018-10-24 12:57:41 -07:00
Dan Halbert
7e295973db
Merge pull request #1298 from Senuros/master
Added more german translation strings, fixed some existing translations
2018-10-24 15:13:28 -04:00
Noralf Trønnes
d882ff6328 samd51: Set stack size to 8k
This is necessary in order to run unittest.
Heavy tests like those in the stdlib need 12-14k.
2018-10-24 19:33:01 +02:00
Noralf Trønnes
1b86e5fc83 samd51: Enable functionality to support CPython stdlib
This enables various things in order to support the CPython standard library.

MICROPY_PY_BUILTINS_NOTIMPLEMENTED:
Support NotImplemented for easy conversion of stdlib.
It doesn't do fallbacks though, only raises TypeError.

MICROPY_PY_COLLECTIONS_ORDEREDDICT:
collections.OrderedDict

MICROPY_PY_FUNCTION_ATTRS:
Support function.__name__ for use as key in the function attribute workaround.

MICROPY_PY_IO:
uio module: BytesIO, FileIO, StringIO, TextIOWrapper
Also add 'io' alias.

MICROPY_PY_REVERSE_SPECIAL_METHODS:
Support the __r*__ special methods.

MICROPY_PY_SYS_EXC_INFO:
sys.exc_info() used by unittest when collecting exceptions.

MICROPY_CPYTHON_COMPAT:
Some of the things it adds:

>>> object.__init__
<function>
>>> object.__new__
<function>
>>> object.__class__
<class 'type'>
>>> object().__class__
<class 'object'>
>>> object.__name__
'object'

>>> 'Hello'.encode()
b'Hello'
>>> b'Hello'.decode()
'Hello'

Named tuple field names from string:
namedtuple('Point', 'x y')
2018-10-24 19:33:01 +02:00
Noralf Trønnes
cec9a69a15 samd51: Make errno, os, and time module aliases
Add alias for uerrno so the user doesn't have to know about the
CircuitPython special names for the module.

Make os and time weak modules (aliases) making it possible to add
functionality to those modules written in python.

Example:
'import os' will now look in the path for an os module and if not found
it will import the builtin module. An os module written in python will
import the builtin module through its name prefixed with an underscore
(_os) following the C module naming practice in CPython.

Also right align the macro values to increase readability making it
easier to compare the values for samd21 and samd51. Even the longest
macro from py/mpconfig.h will fit with this alignment.
2018-10-24 19:31:53 +02:00
Senuros
fbadfd5998 added more german translation strings, fixed some existing translation strings 2018-10-24 11:39:16 +02:00
Dan Halbert
5360a41618
Merge pull request #1296 from JoshuaLowe1002/master
Update README to include missing boards
2018-10-23 20:54:40 -04:00
Joshua Lowe
e02811054e
Update README.rst 2018-10-23 18:17:50 +01:00
Dan Halbert
09c44743b0
Merge pull request #1282 from tannewt/frozen_debug
Add debug info to the generated frozen_mpy.c
2018-10-23 12:32:45 -04:00
Joshua Lowe
1936cd3f38
Update README.rst 2018-10-23 17:30:53 +01:00
Joshua Lowe
cb47d9edee
Update README.rst 2018-10-23 17:28:30 +01:00
Joshua Lowe
41f62d84cb
Update README.rst 2018-10-23 17:27:54 +01:00
Joshua Lowe
59e43a2be4
Update README to include Hallowing 2018-10-23 16:05:07 +01:00
Scott Shawcroft
554f82fe9b
Merge pull request #1286 from klardotsh/topic-nrf52840-mdk
Add support for MakerDiary nRF52840 MDK board
2018-10-22 17:47:14 -07:00
Scott Shawcroft
74e01423eb
Merge pull request #1256 from C47D/es_lang_unix
[Spanish - WIP] Translation of Unix/py directories
2018-10-22 17:45:14 -07:00
Scott Shawcroft
b6951007b0
Merge pull request #1288 from C47D/es_update
[locale\es] Keep already translated strings up to date
2018-10-22 17:43:35 -07:00
sabas1080
37d784bcdc add auto-built by Travis mkr1300 2018-10-22 19:42:40 -05:00
Scott Shawcroft
dcb59178f8
Merge pull request #1290 from jepler/time-monotonic-ns
shared-bindings/time: introduce time.monotonic_ns
2018-10-22 17:41:06 -07:00
sabas1080
f0d7073a12 Add Arduino MKR1300 2018-10-22 19:38:24 -05:00
Carlos
71ac9d16a7 [locale\es.po] Add missing \n 2018-10-21 11:56:05 -05:00
Carlos
c16ef428ab [locale\es.po] Address @sabas1080 recommendations 2018-10-21 11:38:16 -05:00
ec1aec1921 shared-bindings/time: introduce time.monotonic_ns
This is intended to be compatible with Python 3.7's time.monotonic_ns.
The "actual resolution" is 1ms due to this being the unit at which
common_hal_time_monotonic ticks.

Closes #519
2018-10-21 10:22:52 -05:00
arturo182
4bc24c4f60 bleio: Fix errors after rebase 2018-10-21 17:15:27 +02:00
arturo182
c62b708012 bleio: Fix docs error 2018-10-21 16:00:15 +02:00
arturo182
5354aeab4c bleio: Allow using len() on UUID 2018-10-21 16:00:12 +02:00
arturo182
13dd27a047 bleio: Remove UUID static variables 2018-10-21 16:00:08 +02:00
arturo182
eceb21a017 bleio: Don't register the services until needed
Because of the very specific way nRF requires service registration
(characteristics can be added only to last added service), we would
have to write the Python code in a specific way. With this patch the
user has more freedom.
2018-10-21 16:00:04 +02:00
arturo182
ad466b3edb bleio: Let Characteristic inherit the Services UUID length 2018-10-21 16:00:01 +02:00
arturo182
beee58a56f bleio: Add scan_entry as an param for the Device constructor 2018-10-21 15:59:57 +02:00
arturo182
684f2673ce bleio: Remove unneeded TODO 2018-10-21 15:59:53 +02:00
arturo182
19fab4af5a bleio: Remove deep copy constructor for UUID 2018-10-21 15:59:50 +02:00
arturo182
b5e5805bb4 bleio: Remove redundant struct field 2018-10-21 15:59:46 +02:00
arturo182
c7b42d80b3 bleio: A bit of cleanup 2018-10-21 15:59:42 +02:00
arturo182
cf79316002 nrf: Fix ble uart using the new API 2018-10-21 15:59:36 +02:00
arturo182
d5a71a4b8a nrf: Move bluetooth driver to the 'bluetooth' folder 2018-10-21 15:55:25 +02:00
arturo182
17f13ecc2c nrf: Cleanup of the ble driver
Moved the functions to classes that they belong to.
2018-10-21 15:54:13 +02:00
arturo182
77eeecbfd9 nrf: BLE driver cleanup 2018-10-21 15:52:36 +02:00
arturo182
a126897f52 bleio: Fix incorrect role detection 2018-10-21 15:51:08 +02:00
arturo182
6545aa99a9 nrf: Remove the ble drv specific characteristic struct 2018-10-21 15:51:04 +02:00
arturo182
98aa8c5923 nrf: Remove the ble drv specific service struct 2018-10-21 15:51:01 +02:00
arturo182
3df7dea2cc nrf: Remove the ble drv specific advertisement data struct 2018-10-21 15:50:59 +02:00
arturo182
4b344812bf nrf: Remove the ble drv specific address struct 2018-10-21 15:50:56 +02:00
arturo182
5412bf66c3 bleio: Improve type documentation 2018-10-21 15:50:53 +02:00
arturo182
3bd65fbae5 nrf: Move the Peripheral class to bleio as Device
This was the last class from ubluepy and so that module is now gone.
The Device class offers both Peripheral and Central functionality.
See the inline docs for more info.
2018-10-21 15:50:45 +02:00
arturo182
bda734223e nrf: Move the Service class from ubluepy to the shared bleio module 2018-10-21 15:43:51 +02:00
arturo182
cc78249226 nrf: Move the Characteristic class from ubluepy to the shared bleio module 2018-10-21 15:43:48 +02:00
arturo182
fb422ccf5e bleio: Remove SAMD mention in include guard
Damn copy-paste!
2018-10-21 15:43:43 +02:00
arturo182
61bf4a16a7 nrf: Remove unused ubluepy classes 2018-10-21 15:43:39 +02:00
arturo182
1c6bf9a150 bleio: Move the Scanner class to a shared module 2018-10-21 15:43:29 +02:00
arturo182
7390dc7dab bleio: Move ScanEntry to shared module and add a new AdvertisementData class 2018-10-21 15:43:24 +02:00
arturo182
345334aaf1 bleio: Add a new Address class
Use the new in the Adapter singleton.
2018-10-21 15:43:21 +02:00
arturo182
d5f942a971 bleio: Add a AddressType enum-like class 2018-10-21 15:43:17 +02:00
arturo182
20b8d5169d nrf: Move the Descriptor class from ubluepy to the shared bleio module 2018-10-21 15:43:13 +02:00
arturo182
f4940c9aec nrf: Move the UUID class from ubluepy to the shared bleio module
Also added a UUIDType enum-like class for determining UUID type.
2018-10-21 15:43:08 +02:00
Carlos
aeb5385217 [locale\es] Keep already translated strings up to date 2018-10-20 19:46:17 -05:00
Benjamin Shockley
e3041e8ca8
Merge pull request #1 from bwshockley/D51G18A
D51 g18 a
2018-10-20 11:22:04 -05:00
Josh Klar
4a40919228
Make sure port is built as an NRF hex correctly 2018-10-20 03:36:55 -07:00
Josh Klar
aefabc5353
Update docs to reflect proper size of device 2018-10-20 03:29:20 -07:00
Josh Klar
4c75a60bd3
Declobber a DEFINE 2018-10-20 02:57:17 -07:00
Josh Klar
99edeed2e7
Build this thing! 2018-10-20 02:43:14 -07:00
Josh Klar
16ca9c8c7c
Makefile fixes and some docs 2018-10-20 02:43:13 -07:00
Josh Klar
3d7b96aeb1
Add board and pin defs for MakerDiary NRF52840 MDK 2018-10-20 02:43:12 -07:00
Benjamin Shockley
5d190a5615
Update mpconfigboard.h
Corrected NVM size.
2018-10-19 21:18:19 -05:00
Benjamin Shockley
548e6893cd
Create pins.c 2018-10-19 21:16:21 -05:00
Benjamin Shockley
88fd5d7daa
Create mpconfigboard.mk 2018-10-19 21:15:50 -05:00
Benjamin Shockley
1593f4e3a8
Create mpconfigboard.h 2018-10-19 21:14:46 -05:00
Benjamin Shockley
6d974593c7
Create board.c 2018-10-19 20:52:23 -05:00
Scott Shawcroft
b4dcbb79b2
Add back printing out code info. Whoops! 2018-10-18 14:23:17 -07:00
Scott Shawcroft
cb0126131a
Use python3 for mpy-tool 2018-10-18 10:37:42 -07:00
Scott Shawcroft
4f9c8b7361
Add debug info to the generated frozen_mpy.c
It adds size info and uses macros for byte code to make it more
readable.
2018-10-17 17:45:47 -07:00
Scott Shawcroft
b436666e85
Merge pull request #1272 from sajattack/battery
add pin def for BAT
2018-10-17 12:15:38 -07:00
Dan Halbert
298756eef8
Merge pull request #1280 from tannewt/precondition_dac
Ramp values to and from a default value while active.
2018-10-17 15:00:11 -04:00
Scott Shawcroft
8161178415
Merge pull request #1275 from ElectronicCats/board-meowmeow
Added board Meow Meow by Electronic Cats
2018-10-17 11:41:57 -07:00
Scott Shawcroft
4eb1fe18e5
Tweaks from feedback:
* default_value is now quiescent_value
* Use step = -step format for sign switch
* Add note about analogout_reset being empty
2018-10-17 11:31:08 -07:00
Scott Shawcroft
c209165d43
Ramp values to and from a default value while active.
This reduces the popping sound on initial playback of an audio
sample.

The M4 DAC has a pop on startup that cannot be prevented. It also
does not allow readback so current values of the DAC are ignored.

Fixes #1090
2018-10-16 16:23:29 -07:00
Paul Sajna
089e2cc099 remove BATTERY from itsybitsy 2018-10-16 14:55:21 -07:00
Kattni
b24fdcab35
Merge pull request #1278 from dhalbert/update-frozen-for-alpha.2
Update frozen libraries for 4.0.0-alpha.2
2018-10-16 14:58:57 -04:00
sabas1080
6a1a2c7c7b add auto-built by Travis 2018-10-16 13:51:37 -05:00
Dan Halbert
ab02a034f6 Update frozen libraries for 4.0.0-alpha.2 2018-10-16 14:08:54 -04:00
Scott Shawcroft
c69b67f453
Merge pull request #1277 from dhalbert/nrf-pulseout
PulseOut working
2018-10-16 10:19:55 -07:00
Dan Halbert
b3c7746a7f fix copyright notice 2018-10-16 11:09:37 -04:00
Dan Halbert
2262efc311 PulseOut working 2018-10-16 11:05:02 -04:00
Nick Moore
06894be294 timer ticks for DHCP state machine for wiznet 2018-10-16 23:10:18 +11:00
Nick Moore
45974978ef fixup 2018-10-16 23:09:55 +11:00
Nick Moore
a15f3361aa add mechanism for timer ticks in NICs 2018-10-16 23:09:25 +11:00
Nick Moore
1f760bded8 header file cleanup for wiznet 2018-10-16 23:07:58 +11:00
Dan Halbert
fe86731057
Merge pull request #1276 from C47D/es_mixer
[ES] Translate strings on Mixer module
2018-10-15 23:27:59 -04:00
Carlos
f6c0a23fa8 Translate strings on Mixer module 2018-10-15 21:41:05 -05:00
sabas1080
c103a05579 Add board Meow Meow by Electronic Cats
https://github.com/ElectronicCats/MeowMeow
2018-10-15 19:17:04 -05:00
Paul Sajna
1447df3fa6 change BAT to BATTERY 2018-10-14 23:34:49 -07:00
Scott Shawcroft
5cf8b998d1
Merge pull request #1271 from sajattack/master
Increase clone depth. Fixes #1247
2018-10-14 23:30:11 -07:00
Paul Sajna
f1028b5f96 add pin def for BAT 2018-10-13 15:53:22 -07:00
Paul
88af5815ee
Increase clone depth (#1247) 2018-10-13 09:51:29 -07:00
Sabas
c8d0509eb2
Merge pull request #1 from adafruit/master
Update
2018-10-11 23:04:53 -05:00
Scott Shawcroft
2933451195
Merge pull request #1265 from jepler/travis-parallelism-reorg
Further reorganize Travis parallelism
2018-10-11 11:01:24 -07:00
Nick Moore
5bb12793a0 update documentation and translations again 2018-10-11 22:19:46 +11:00
Nick Moore
a4a0cf826b fix doc comments, translations again 2018-10-11 17:02:29 +11:00
Nick Moore
a580e870c3 update locale info 2018-10-11 16:27:43 +11:00
Nick Moore
bb239052ea Split wiznet driver into shared-bindings vs shared-module 2018-10-11 15:05:25 +11:00
Dan Halbert
8b531f3fba
Merge pull request #1263 from tannewt/trellis_m4_revD
Support rev D for the Trellis M4 Express
2018-10-10 23:34:59 -04:00
Nick Moore
aab28748bb Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-11 14:19:10 +11:00
Nick Moore
09e6127435 update translations? 2018-10-11 14:12:47 +11:00
Nick Moore
823ff779ca network module c api into shared-module 2018-10-11 14:02:18 +11:00
Nick Moore
8d75c3d339 Changed to only build wiznet for {feather|metro}_m[04]_express 2018-10-11 13:42:26 +11:00
Jeff Epler
c7629bdd56 .travis.yml: Comment on the rationale for the organization of the sub-builds 2018-10-10 19:24:45 -05:00
Jeff Epler
6ff614caae .travis.yml: reorganize to squeeze out a little more speed 2018-10-10 19:13:09 -05:00
Jeff Epler
1c953d44b0 .travis.yml: move the esp-open-sdk SDK up a dir
Otherwise, an error occurs when installing TRAVIS_SDK=esp8266
*AND* trying to do TRAVIS_TESTS=docs in the same sub-build,
with an error like
    Warning, treated as error:
    .../icmp.h:77:undecodable source characters, replacing with "?"
due to non-ASCII characters in some header file within the esp-open-sdk
2018-10-10 19:13:09 -05:00
Scott Shawcroft
852cbca9d4
Merge pull request #1262 from jepler/travis-parallelism
.travis.yml: try to dice up parallelism differently
2018-10-10 16:48:04 -07:00
Scott Shawcroft
e5d2fae801
Merge pull request #1261 from jepler/esp8266-prebuilt-sdk
esp8266/README: comment on the specific binary SDK used
2018-10-10 12:03:12 -07:00
Scott Shawcroft
b5e26130d7
Support rev D for the Trellis M4 Express 2018-10-10 11:21:35 -07:00
Dan Halbert
8d58093328
Merge pull request #1259 from dhalbert/nrf-pwmout
Allow variable freq PWMOut; use multiple channels if same freq
2018-10-10 12:27:27 -04:00
Scott Shawcroft
df80ad8e6e
Merge pull request #1193 from ATMakersBill/master
Add supervisor.runtime.serial_bytes_available so that input() can be used without blocking.
2018-10-09 23:58:43 -07:00
Scott Shawcroft
0688709c4f
Move the docs next to the implementation 2018-10-09 23:15:25 -07:00
Jeff Epler
24e4574470 .travis.yml: dice up parallelism differently 2018-10-09 21:55:40 -05:00
ATMakersBill
05d4b8cf50 Added Documentation for the serial_bytes_available attribute 2018-10-09 22:50:59 -04:00
Dan Halbert
ca737e6f7c Don't disable tempoarily in deinit(). 2018-10-09 21:23:47 -04:00
Jeff Epler
012cc466a4 esp8266/README: comment on the specific binary SDK used 2018-10-09 20:17:38 -05:00
Dan Halbert
91a88cf568 Allow variable freq PWMOut; use multiple channels if same freq 2018-10-09 20:52:55 -04:00
Dan Halbert
3206d9a5da
Merge pull request #1242 from tannewt/mixer
Introduce audioio.Mixer to allow for multiple sample playback
2018-10-09 19:26:50 -04:00
ATMakersBill
9f94712ad1 replacing change to input() with separate method to check for USB Serial input 2018-10-09 18:37:52 -04:00
ATMakersBill
bc0a135524 replacing change to input() with separate method to check for USB Serial input 2018-10-09 18:25:51 -04:00
Scott Shawcroft
570ac05145
Add Mixer strings to Italian translation 2018-10-09 13:57:45 -07:00
Scott Shawcroft
a647ab83df
Merge remote-tracking branch 'adafruit/master' into mixer 2018-10-09 13:31:17 -07:00
Scott Shawcroft
6da25c8893
Rename stop to stop_voice in case we want stop to stop everything later. 2018-10-09 13:28:00 -07:00
Scott Shawcroft
e9aefccdb5
Merge pull request #1235 from platipo/master
Add Italian translation
2018-10-09 12:14:12 -07:00
Nick Moore
38798446b5 Exclude .direnv from sphinx-build 2018-10-09 22:57:42 +11:00
Nick Moore
6d9c2c5254 Documentation builds (though has no real content yet) 2018-10-09 22:37:49 +11:00
Enrico Paganin
ae47c23aa6 Add Italian translation
Adding first draft, it needs to be reviewed
2018-10-09 10:43:08 +02:00
Nick Moore
a60700b1c5 Get DHCP working ... 2018-10-09 16:28:30 +11:00
Carlos
a1d539941d Translation of strings on Unix directory 2018-10-08 22:05:30 -05:00
Nick Moore
9b36d33df1 move random mac address function into network module 2018-10-09 13:12:04 +11:00
Nick Moore
6e624b9c6a Split wiznet.WIZNET5K off into its own file 2018-10-09 13:05:58 +11:00
Nick Moore
4b767ff080 Change WIZNET5K.isconnected to connected property 2018-10-09 12:24:24 +11:00
Noralf Trønnes
db4a8f5d1a modsys: exc_info: Add traceback
Add traceback chain to sys.exec_info()[2].
No actual frame info is added, but just enough to recreate the printed
exception traceback.

Used by the unittest module which collects errors and failures and prints
them at the end.
2018-10-07 19:37:49 +02:00
Noralf Trønnes
b897603cfa py/objboundmeth: Support __func__ property as in CPython
This gives access to the function underlying the bound method.

Used in the converted CPython stdlib logging.Formatter class to handle
overrriding a default converter method bound to a class variable.
The method becomes bound when accessed from an instance of that class.

I didn't investigate why CircuitPython turns it into a bound method.
2018-10-07 19:36:24 +02:00
Noralf Trønnes
a63555abc1 py/builtinimport: Set __file__ on MPY modules
This sets the __file__ property on MPY modules like how it's done on pure python modules.
2018-10-07 19:36:12 +02:00
Dan Halbert
c23d2028a8
Merge pull request #1244 from urish/armthumb-fix
fix compilation errors in emitinlinethumb.c
2018-10-06 19:48:27 -04:00
Uri Shaked
cea079a022
fix compilation errors in emitinlinethumb.c 2018-10-07 02:09:44 +03:00
Dan Halbert
4745dda9e6
Merge pull request #1230 from C47D/es_lang
Translate strings in nrf directory
2018-10-06 17:10:26 -04:00
Dan Halbert
f7f723c590
Merge pull request #1238 from xpecex/pt_BR2
String internationalization for Brazilian Portuguese
2018-10-06 17:09:13 -04:00
Dan Halbert
122859447e
Merge pull request #1245 from jerryneedell/jerryn_erase
add force_create to nrf filesystem_init()
2018-10-06 16:57:23 -04:00
Jerry Needell
fd0ea85549 add force_create to nrf filesystem_init() 2018-10-06 08:03:27 -04:00
Scott Shawcroft
2b0356c61f
Disable framebuf by default on express builds. 2018-10-05 15:19:09 -07:00
Scott Shawcroft
3c6812f2c1
Fix M0 math 2018-10-05 15:19:09 -07:00
Scott Shawcroft
15d80a8c46
Fix doc build 2018-10-05 15:19:08 -07:00
Scott Shawcroft
8587d8edf0
Fix voice ending in the middle of a buffer. 2018-10-05 15:19:08 -07:00
Scott Shawcroft
2ec7f98c90
Update translations 2018-10-05 15:19:05 -07:00
Scott Shawcroft
623f8d3b8c
Don't freeze the tests directory 2018-10-05 15:14:34 -07:00
Scott Shawcroft
76008ce304
Introduce audioio.Mixer which can mix multiple audio samples
to produce a single sample.

Only works with 16 bit samples on the M4.

Fixes #987
2018-10-05 15:12:23 -07:00
Dan Halbert
7b95818c4f
Merge pull request #1241 from hathach/nrf52_fix_tinyusb_issue
fix tinyusb cdc issue
2018-10-05 11:21:53 -04:00
hathach
21ddb6b9b9 fix tinyusb cdc issue 2018-10-05 21:37:16 +07:00
Carlos
bd2044fb39 Update translation 2018-10-04 22:22:17 -05:00
Carlos
22f6869bdf Address suggestions @carlosperate 2018-10-04 21:57:09 -05:00
Carlos
14f52c52cb Translate strings in nrf directory 2018-10-04 21:57:06 -05:00
Benjamin Shockley
091c5106ef
Cleanup Files 2018-10-04 21:26:28 -05:00
Benjamin Shockley
62d316bffb
W25Q16JV IQ and IM
Indicate the differences between IQ and IM with the 2 MiB version of the W25Q chip.
2018-10-04 21:26:05 -05:00
Benjamin Shockley
2ef29c2cec
Changed FLASH DEVICE
Changed the flash device to W25Q16JV_IM - the type actually used.
2018-10-04 21:14:07 -05:00
Benjamin Shockley
f6b9f101dc
Added W25Q16JV_IM
Added new flash module: W25Q16JV_IM
2018-10-04 21:13:05 -05:00
Pedro Filipe
661743ebff String internationalization for Brazilian Portuguese 2018-10-04 22:55:28 -03:00
Nick Moore
15b59bee1b change initialization method + mod_network names 2018-10-04 22:31:47 +10:00
Nick Moore
f9bda0ff93 Makefile & mpconfigport for atmel-samd with wiznet 2018-10-04 22:02:25 +10:00
Nick Moore
d33f6214f1 modify modnetwork and modusocket for circuitpython 2018-10-04 22:02:25 +10:00
Nick Moore
f4c32139f5 Copy modnetwork and modusocket across from MicroPython 2018-10-04 22:02:25 +10:00
Nick Moore
27fc84a157 Modify wiznet module for circuitpython 2018-10-04 22:02:25 +10:00
Nick Moore
3c32d046bf Copy wiznet module across from MicroPython 2018-10-04 21:22:09 +10:00
Nick Moore
8670215ecc Fixups for wiznet 5500 driver 2018-10-04 21:17:51 +10:00
Nick Moore
38d99b11c1 Copy wiznet drivers over from MicroPython 1.9.4 2018-10-04 21:13:01 +10:00
Dan Halbert
f7ebbacf58
Merge pull request #1212 from hathach/nrf52_uart_io
Nrf52 uart io
2018-10-03 23:57:56 -04:00
Dan Halbert
6049776b26
Merge branch 'master' into nrf52_uart_io 2018-10-03 13:31:48 -04:00
Scott Shawcroft
86ae707b08
Merge pull request #1223 from dhalbert/spi-baudrate
nrf: remove error check for SPI baudrate too high; round to nearest baudrate
2018-10-03 10:11:44 -07:00
hathach
a47eaa521b update translate 2018-10-03 23:16:02 +07:00
hathach
b8884ccc8b Merge branch 'master' into nrf52_uart_io 2018-10-03 23:13:56 +07:00
Dan Halbert
b95865939f
Merge pull request #1231 from furlaneto/master
String internationalization for Brazilian Portuguese
2018-10-03 09:15:17 -04:00
Dan Halbert
d79b0a6b17
Merge pull request #1232 from platipo/master
Fix 'advertisement' typo
2018-10-03 09:14:28 -04:00
Enrico Paganin
4b9099358f Fix 'advertisement' typo 2018-10-03 09:56:30 +02:00
hathach
08cbb03bdd implement common_hal_busio_uart_clear_rx_buffer 2018-10-03 11:39:01 +07:00
hathach
f543c8415d "busio.UART not yet implemented -> not available 2018-10-03 11:30:31 +07:00
Lucas Furlaneto
67d9aef4c7
Update pt_BR.po 2018-10-03 01:01:11 -03:00
Dan Halbert
da48fc9d45
Merge pull request #1228 from xpecex/pt_BR
String internationalization for Brazilian Portuguese
2018-10-02 23:37:11 -04:00
Pedro Filipe
ddd2a90eee String internationalization for Brazilian Portuguese 2018-10-02 23:20:15 -03:00
Dan Halbert
73de5f7980
Merge pull request #1229 from gcvasconcelos/patch-1
Added new portuguese translations
2018-10-02 22:11:51 -04:00
Gabriel Vasconcelos
1d287d066b
Added new portuguese translations 2018-10-02 22:16:37 -03:00
Dan Halbert
21d331c8cc round SPI freq down; check max freq 2018-10-02 21:06:40 -04:00
Dan Halbert
036a1490e3
Merge pull request #1227 from tannewt/trellis_m4
Update Trellis M4 Express for Rev C
2018-10-02 20:33:27 -04:00
Scott Shawcroft
3c743f2664
Update Trellis M4 Express for Rev C 2018-10-02 11:56:09 -07:00
Scott Shawcroft
0db68a8f4d
Merge pull request #1225 from furlaneto/master
String internationalization for Brazilian Portuguese
2018-10-01 22:59:16 -07:00
Scott Shawcroft
cc68964d13
Fix the build 2018-10-01 22:20:27 -07:00
Lucas Furlaneto
5cfd28b78a
Update pt_BR.po 2018-10-02 01:36:24 -03:00
Lucas Furlaneto
6c7195b130
Start Brazilian Portuguese translation 2018-10-02 01:15:13 -03:00
Dan Halbert
aa95526428 nrf: remove error check for SPI baudrate too high; round to nearest baudrate 2018-10-01 18:54:13 -04:00
Scott Shawcroft
b263690e66
Merge pull request #1219 from C47D/es_lang
[WiP] Start with translation of ESP strings.
2018-10-01 13:47:34 -07:00
Benjamin Shockley
1f3a3fe5a0 Merge remote-tracking branch 'upstream/master' 2018-10-01 12:28:42 -05:00
Scott Shawcroft
fb5ca35293
Merge pull request #1215 from dhalbert/soft-restart-device-reset
reset I2C and SPI on ctrl-D
2018-09-30 23:52:07 -07:00
Carlos
1ae4616ee2 Finish translation of strings on the ESP port 2018-09-30 12:04:22 -05:00
Benjamin Shockley
862d5a06fd
Create pins.c 2018-09-29 23:33:07 -05:00
Benjamin Shockley
8e52d922cc
Create mpconfigboard.mk 2018-09-29 23:26:15 -05:00
Benjamin Shockley
5ab4f09b2f
Create mpconfigboard.h 2018-09-29 23:24:32 -05:00
Benjamin Shockley
4acca8b90b
Update board.c 2018-09-29 23:17:24 -05:00
Benjamin Shockley
13364f90fe
Create board.c 2018-09-29 23:16:07 -05:00
Carlos
f3f549b455 Start with translation of ESP strings. 2018-09-29 21:32:57 -05:00
Dan Halbert
48a3aafdd2 reset I2C and SPI on ctrl-D 2018-09-25 15:12:10 -04:00
hathach
76d6fb03f0 more clean up 2018-09-26 02:12:06 +07:00
hathach
eba80f7a99 update translate string 2018-09-26 02:10:44 +07:00
hathach
52328c88cd remove space 2018-09-26 02:06:32 +07:00
hathach
74cc55b107 change error type to runtime 2018-09-25 17:31:53 +07:00
hathach
f724647a45 fix feather nrf52840 build error 2018-09-25 17:09:54 +07:00
hathach
dec5c50c45 clean up 2018-09-25 16:22:14 +07:00
hathach
2f0e0bdcaf migrate serial from uart to uarte 2018-09-25 16:14:44 +07:00
hathach
9017c9d29a clean up 2018-09-25 14:29:45 +07:00
hathach
d3e5ba83eb update nrfx to 1.3.0 2018-09-25 13:00:57 +07:00
hathach
d714479924 clean up 2018-09-25 12:48:48 +07:00
hathach
01c1296197 nrf52 uart io rx work reliably 2018-09-25 12:37:31 +07:00
hathach
1782ceab35 uarte malloc if buffer is not in SRAM 2018-09-24 16:18:49 +07:00
hathach
4015023e01 clean up uart io 2018-09-24 16:12:05 +07:00
hathach
7bbd449f06 uarte rx work fine 2018-09-24 15:54:32 +07:00
hathach
fdd3e91753 changing to nrf uarte, tx works fine 2018-09-24 14:56:52 +07:00
hathach
7a1b4ccc9b Merge branch 'master' into nrf52_uart_io 2018-09-24 12:50:48 +07:00
Scott Shawcroft
f09537bbc4
Merge pull request #1208 from C47D/es_lang
locale/es.po [WIP] Continue with the Spanish translation
2018-09-22 22:27:47 -04:00
Carlos
fa11a4294a locale/es.po Continue with the Spanish translation 2018-09-22 12:52:56 -05:00
Scott Shawcroft
f2c960e89b
Merge pull request #1205 from hathach/nrf52_autoreload
add autoreload for nrf52
2018-09-21 16:48:21 -04:00
hathach
e1fe7e71a1 add autoreload 2018-09-22 02:08:00 +07:00
Kattni
839b791253
Merge pull request #1204 from tannewt/merge_3x
Merge in AudioOut fix from 3.x
2018-09-21 13:15:51 -04:00
Scott Shawcroft
a9d094ab74
Fix translations 2018-09-21 12:24:04 -04:00
Scott Shawcroft
e5274959f2
Merge remote-tracking branch 'adafruit/3.x' into merge_3x 2018-09-21 12:22:26 -04:00
Scott Shawcroft
0015db1c4c
Merge pull request #1203 from dhalbert/nrf-multiple-i2c-spi
nrf: multiple i2c and spi instances; improve nrfx_config.h
2018-09-21 12:16:43 -04:00
Dan Halbert
48e558b2d6 update translations 2018-09-20 21:53:07 -04:00
Dan Halbert
2c15d12f2f allow multiple I2C and SPI; improve nrfx_config.h 2018-09-20 20:45:30 -04:00
hathach
816ff05253 clean up 2018-09-21 03:53:35 +07:00
hathach
dddc437ea7 got rx working finally 2018-09-21 03:48:13 +07:00
hathach
fe1a297889 still have issue with initial uart rx 2018-09-21 01:27:52 +07:00
Dan Halbert
2309e60c0d WIP; problem with staticly allocated IRQ handlers 2018-09-19 21:59:04 -04:00
hathach
9c25306877 uart rx got some issue with irq 2018-09-20 02:12:21 +07:00
Scott Shawcroft
3f380ded6b
Merge pull request #1197 from dhalbert/3.x-master
3.x master
2018-09-19 09:58:52 -07:00
hathach
c5593ec074 got uart tx work 2018-09-19 17:59:15 +07:00
hathach
1df3bcf392 add board.UART() function 2018-09-19 14:40:37 +07:00
Dan Halbert
91cc23f9b7 .travis.yml typo 2018-09-19 00:01:50 -04:00
Dan Halbert
cf3b40207e add pca10059 properly to build_adafruit_bins.sh; modernize that script; update translations (again) 2018-09-18 22:21:29 -04:00
Dan Halbert
af7a0eedf0
Merge pull request #1202 from tannewt/wrong_playback_frequency
Clock the SAMD21 much faster so it can actually convert at its max
2018-09-18 22:08:07 -04:00
Dan Halbert
8172a2ca9d
Merge pull request #1189 from arofarn/add-BATTERY-pin
Add VOLTAGE_MONITOR pin to feather boards pins
2018-09-18 21:47:09 -04:00
Scott Shawcroft
655f223916
Clock the SAMD21 much faster so it can actually convert at its max
sample rate of 350ksps.

Also added an error check of sample rate.

Fixes #1196
2018-09-18 15:29:46 -07:00
Dan Halbert
56b7f3ba64 fix translate omission; pca10059 fix in .travis.yml 2018-09-18 16:28:27 -04:00
Dan Halbert
b5373978d8 translate update 2018-09-18 15:40:04 -04:00
Dan Halbert
bc510e714f merge 3.0.2 to master 2018-09-18 15:38:12 -04:00
hathach
d8c8c5f005 remove CFG_HWUART_FOR_SERIAL 2018-09-18 20:26:50 +07:00
Dan Halbert
53fcc5a3a2
Merge pull request #1195 from dhalbert/hallowing-d3-d4
add D4 and D3 aliases for EXTERNAL_NEOPIXEL and SENSE pins to match final silkscreen
2018-09-17 23:00:21 -04:00
Dan Halbert
aaa61d06e3 add D4 and D3 aliases for EXTERNAL_NEOPIXEL and SENSE pins to match final silkscreen 2018-09-17 22:22:23 -04:00
ATMakersBill
b61214db41 added timeout to input() 2018-09-16 15:04:51 -04:00
Dan Halbert
d7517409e9
Merge pull request #1190 from ladyada/master
Add trellis m4 variant and little fix for samr21
2018-09-14 11:03:03 -04:00
ladyada
14ad7d31db automate builds 2018-09-14 10:38:06 -04:00
Pierrick C
53853289eb Move VOLTAGE_BATTERY line just under D9 line 2018-09-14 09:02:04 +02:00
ladyada
521a14e942 add mic in / out 2018-09-13 21:50:43 -04:00
ladyada
994c066b21 rev B (minus microphone) 2018-09-13 21:34:39 -04:00
ladyada
bec42671b1 missin' reset pin for the radio. tested works. 2018-09-13 21:30:13 -04:00
ladyada
28aabb4d5c trellis m4 variant 2018-09-13 21:30:13 -04:00
Pierrick C
7e8816ad6f Add VOLTAGE_MONITOR alias to pin D31/A7 2018-09-13 23:46:47 +02:00
Pierrick C
8eda4bb473 Add VOLTAGE_MONITOR alias for D9 pin to feather boards 2018-09-13 23:36:04 +02:00
Dan Halbert
101531bc69
Merge pull request #1187 from tannewt/bitmap_disk
Add OnDiskBitmap which loads pixel data straight from disk.
2018-09-13 14:17:58 -04:00
Scott Shawcroft
75d497bcc8
More explicit init in Group 2018-09-13 10:42:12 -07:00
Scott Shawcroft
fb833b25d5
Update translations and limit Sphinx to <1.8.0 2018-09-12 16:25:35 -07:00
Scott Shawcroft
2dd9407f21
Merge pull request #1186 from dhalbert/uart-enhancements
UART enhancements
2018-09-12 16:23:28 -07:00
Dan Halbert
6a72084198 fix nrf builds; sphinx 1.8.0 crashing: use lower version 2018-09-12 18:37:03 -04:00
Scott Shawcroft
f21cf15c38
Add OnDiskBitmap which loads pixel data straight from disk.
Also, renamed Sprite's palette to pixel_shader so it can be
anything that produces colors based on values (including color values).
Added a ColorConverter that converts RGB888 (found in bitmaps) to
RGB565 for the display.

Fixes #1182
2018-09-12 15:25:59 -07:00
Scott Shawcroft
beb9446f30
Merge pull request #1185 from dhalbert/usb_write-length-fix
usb_write() output_len was uint8_t instead of uint32_t
2018-09-12 15:00:24 -07:00
Dan Halbert
6a046f55c4 UART fixes and enhancements; default board object fix 2018-09-12 17:19:43 -04:00
Dan Halbert
2bd7040fe0 usb_write() output_len was uint8_t instead of uint32_t 2018-09-12 17:16:52 -04:00
Paul Kierstead
02b3f62460 When UART timeout of zero is given, make read() return data already available 2018-09-12 13:25:49 -04:00
Benjamin Shockley
b923324e73
Added HW NEOPIXEL Definition
Added definition for the built-in Neopixel.  This is useful for CircuitPython Statas: https://learn.adafruit.com/welcome-to-circuitpython/troubleshooting#circuitpython-rgb-status-light-18-10
2018-09-12 07:59:07 -05:00
Scott Shawcroft
2cb703913d
Merge pull request #1184 from adafruit/pwmout-tcc-channel-claiming
PWMOut was not claming channels on shared TCCs
2018-09-11 22:58:44 -07:00
Dan Halbert
f289863088 bump gcc-arm-embedded to 7-2018q2 to save flash space 2018-09-11 21:26:58 -04:00
Dan Halbert
c3918bae57 PWMOut was not claming channels on shared TCCs 2018-09-11 19:46:47 -04:00
Benjamin Shockley
2138b04e45
Update to IS25LP016D
Changed .supports_qspi_write to true.
2018-09-11 07:52:23 -05:00
Benjamin Shockley
c7cf38186d
Added IS25LP016D 2018-09-10 14:55:18 -05:00
Benjamin Shockley
08a2d962e3
Delete README.md 2018-09-10 17:01:31 +00:00
Benjamin Shockley
b2f5511de2
Initial Upload of Mini SAM M0
Initial Upload of Mini SAM M0
2018-09-10 17:01:00 +00:00
Benjamin Shockley
b03037e512
Create README.md 2018-09-10 16:55:55 +00:00
Scott Shawcroft
9ace50a18a
Merge pull request #1177 from dhalbert/gpio-fixs
use open-drain capabilities on GPIO; clean up board init; set correct GPIO voltage
2018-09-09 22:55:21 -07:00
Scott Shawcroft
d9f62a43cb
Merge pull request #1180 from jepler/update-uzlib-to-v2.9
uzlib: Upgrade to uzlib v2.9 release
2018-09-09 22:33:14 -07:00
014857b34b uzlib: Upgrade to uzlib v2.9 release
This fixes a large number of crashes on malformed inputs.
2018-09-09 20:22:25 -05:00
Dan Halbert
e335c74ac6 use open-drain capabilities on GPIO; clean up board init; set correct GPIO voltage 2018-09-09 15:01:28 -04:00
Dan Halbert
1164d5285f
Merge pull request #1173 from tannewt/driver_update
Add new drivers to the doc page
2018-09-07 21:28:56 -04:00
Scott Shawcroft
12e2a26406
Add new drivers to the doc page 2018-09-07 15:19:37 -07:00
Scott Shawcroft
06a610fd0c
Merge pull request #1166 from dfarning/clean-up-docs
Reorder status matrix and module list in shared-bindings for increase…
2018-09-07 12:02:23 -07:00
Dan Halbert
34bcb069cf
Merge pull request #1165 from tannewt/grandcentral
Initial Grand Central definition
2018-09-07 15:00:13 -04:00
Dan Halbert
449756ef27
Merge pull request #1152 from tannewt/hallowing
Introduce displayio to render graphics to displays.
2018-09-07 14:30:30 -04:00
Scott Shawcroft
e29cbf694b
Auto-build grandcentral 2018-09-07 10:52:30 -07:00
Scott Shawcroft
3ac03a31d8
Fix SDA/SCL 2018-09-07 10:39:18 -07:00
David Farning
62fab2e9c4 Reorder status matrix and module list in shared-bindings for increase user read ability 2018-09-07 03:30:28 -05:00
Scott Shawcroft
32c616b5dd
Initial Grand Central definition
It has a ton of pins in a Mega form-factor

This also includes a change to init the stack earlier. It fixes
a crash that occurs if the flash doesn't start correctly and the
original spot isn't reached.
2018-09-06 16:54:13 -07:00
Scott Shawcroft
86288f14f1
Merge translations and update title underline 2018-09-06 14:56:26 -07:00
Scott Shawcroft
c2e49dc87f
Merge remote-tracking branch 'adafruit/master' into hallowing 2018-09-06 14:54:55 -07:00
Scott Shawcroft
1683eb913d
Minor tweaks based on feedback 2018-09-06 14:49:49 -07:00
Scott Shawcroft
23b23dd2b8
Merge pull request #1158 from dhalbert/nrf-pin-claiming
nrf: rework of pin files; add new boards; add pin claiming
2018-09-05 16:23:57 -07:00
Dan Halbert
100603a60b neopixel_write merge; alphabetize stuff in Makefile 2018-09-05 17:38:59 -04:00
Dan Halbert
4c3b4cacfa Merge remote-tracking branch 'adafruit/master' into nrf-pin-claiming 2018-09-05 13:15:22 -04:00
Dan Halbert
a0872e8761
Merge pull request #1161 from hathach/nrf52_neopixel
Nrf52 neopixel
2018-09-05 08:09:07 -04:00
hathach
ccd87a33b6 use nrf_pwm instead of direct registers 2018-09-05 13:18:36 +07:00
Dan Halbert
b5c03a7085 generalize # of ports; remove atmel neopixel code; remove pin name in mc_pin_obj_t 2018-09-04 16:43:21 -04:00
Scott Shawcroft
7654106a2c
Merge pull request #1114 from turbinenreiter/translate-german
WIP: Add German translations
2018-09-04 10:22:08 -07:00
hathach
f4a98e909c fix nrf52832 build 2 2018-09-04 23:25:08 +07:00
hathach
b9e8e3cd1f fix nrf52832 build 2018-09-04 20:54:36 +07:00
Dan Halbert
ba6e1b6772
Merge pull request #1159 from PaulKierstead/master
When UART timeout of zero is given, make read() return data already a…
2018-09-04 09:47:52 -04:00
hathach
1fe3ed87eb run background job while waiting for neopixel write seqend 2018-09-04 19:24:45 +07:00
hathach
0d92c65829 correct disconnection check to only dtr 2018-09-04 18:36:08 +07:00
hathach
3ae24d9f9a add neopixel_write implementation, work ok 2018-09-04 18:33:08 +07:00
Sebastian Plamauer
11906370c9 Fix missing newlines in msgstr 2018-09-04 11:17:49 +02:00
hathach
e17253071e adding neopixel write 2018-09-04 15:51:49 +07:00
Paul Kierstead
2d3f1a10bf When UART timeout of zero is given, make read() return data already available 2018-09-01 17:07:30 +00:00
Dan Halbert
4382389e6f fix typos, remove incorrect pca10059 example; add default buses for pca10056; improve board names for pca boards 2018-09-01 00:29:36 -04:00
Dan Halbert
9ea809bef7 add pin claiming to devices 2018-08-31 18:38:05 -04:00
Dan Halbert
585597a252 pin files rework; implement pin claiming; add more boards 2018-08-31 18:05:55 -04:00
Dan Halbert
0e8d146184 wip 2018-08-31 18:05:55 -04:00
Scott Shawcroft
121903b6ee
Tweaks based on feedback 2018-08-31 14:21:48 -07:00
Scott Shawcroft
6697544cdf
Introduce displayio to render graphics to displays.
It's designed to minimize RAM footprint by using Sprites to
represent objects on the screen. The object model also facilitates
partial screen updating which reduces the bandwidth needed to display.

This is all handled in C. Python simply manipulates the objects with
the ability to synchronize to frame timing.
2018-08-31 12:31:52 -07:00
Scott Shawcroft
9b98ad7794
Merge pull request #1154 from eighthree/tagalog-translation
Tagalog translation
2018-08-31 12:08:14 -07:00
eighthree
f7bb3803af Grammar error on line 180
- Also removed fuzzy, "needs work" marker on random element
2018-08-30 23:07:11 -07:00
eighthree
245e995392 Tagalog translation 2018-08-30 18:30:16 -07:00
Scott Shawcroft
1ca11dcd94
Merge pull request #1133 from C47D/es_lang
[WIP] Spanish translation.
2018-08-30 16:41:50 -07:00
Scott Shawcroft
836d5c2eac
Update string locations. 2018-08-30 16:14:58 -07:00
Scott Shawcroft
2b003477df
Merge remote-tracking branch 'adafruit/master' into es_lang 2018-08-30 16:12:33 -07:00
Scott Shawcroft
64a333eeaf
Clean up duplicates and have make translate produce a stable ordering. 2018-08-30 16:12:20 -07:00
Limor "Ladyada" Fried
9ad94f0815
Merge pull request #1150 from dhalbert/nrf52840-build-uf2
upload .uf2 for nrf52840 boards
2018-08-29 13:06:29 -07:00
Dan Halbert
de9f9e8504 upload .uf2 for nrf52840 boards 2018-08-29 15:38:33 -04:00
Dan Halbert
93100a7517
Merge pull request #1146 from hathach/nrf52_usb_serial_bug
update tinyusb to fix #1007 serial issue
2018-08-28 15:39:34 -04:00
hathach
87811ec3a0 update readme board name feather_nrf52832 2018-08-28 16:15:20 +07:00
hathach
ba26ca9e41 update tinyusb to fix #1007 serial issue 2018-08-28 16:00:34 +07:00
Scott Shawcroft
569a050e82
Merge pull request #1143 from notro/stat_epoch_fix
Fix os.stat() epoch and use RTC for file timestamp
2018-08-26 22:22:45 -07:00
Dan Halbert
9a10849afd
Merge pull request #1145 from ladyada/master
rename pin.h to nrf_pin.h to avoid conflict with Pin.h
2018-08-26 21:50:07 -04:00
ladyada
ded38d30b6 rename pin.h to nrf_pin.h to avoid conflict with Pin.h 2018-08-26 20:37:12 -04:00
Sebastian Plamauer
b02ac1267a Add more translations 2018-08-26 13:36:27 +02:00
Sebastian Plamauer
7d18d0c1ed Fix and add more translations 2018-08-26 13:33:27 +02:00
Sebastian Plamauer
361f057927 Merge branch 'master' of github.com:adafruit/circuitpython into translate-german 2018-08-26 12:47:21 +02:00
Noralf Trønnes
b61cf8d81f samd: Use RTC to set file timestamp
Use RTC to set file timestamp for file operations done on the board.
2018-08-25 20:43:09 +02:00
Noralf Trønnes
39ee12d1ac Fix os.stat() to use 1970 epoch
Commit 95e70cd0ea 'time: Use 1970 epoch' changed epoch for the time
module, but not for other users. This patch does the same for the only
other core timeutils user: extmod/vfs_fat.c:fat_vfs_stat().
Other timeutils users: cc3200, esp8266 and stm32, are not changed.

Ports that don't use long ints, will still get wrong time values from
os.stat().
2018-08-25 20:43:02 +02:00
Carlos
2a2699bef6 main.c strings translated, and recovered some translations from a backup es.po file 2018-08-25 10:39:09 -05:00
Dan Halbert
5c3fcc7490
Merge pull request #1142 from notro/ctrl_c_raise
Revert "py/vm: Improve performance of opcode dispatch when using switch stmt."
2018-08-25 08:26:06 -04:00
Noralf Trønnes
2d1fecc804 Revert "py/vm: Improve performance of opcode dispatch when using switch stmt."
This reverts commit 869024dd6e.

Ctrl-C stopped producing KeyboardInterrupt with this change on CircuitPython.

The Unix and stm32 ports handles Ctrl-C differently with a handler which is
probably why they where not affected.

Fixes #1092
2018-08-25 13:14:58 +02:00
Carlos
0aef043867 Markers cleanup 2018-08-24 22:24:59 -05:00
Dan Halbert
caa232823e
Merge pull request #1141 from jerryneedell/jerryn_neopixel
adjust SAMD51 neopixel_write timing
2018-08-24 08:37:02 -04:00
Jerry Needell
e8b94d0024 adjust SAMD51 neopixel_write timing 2018-08-24 07:01:50 -04:00
Scott Shawcroft
d1b588375b
Merge pull request #1135 from dhalbert/nrf_board_rename
rename nRF boards to feather_nrf52832 and feather_nrf52840_express
2018-08-23 22:00:31 -07:00
Carlos
245a7b72a6 Add POEdit .mo files to gitignore 2018-08-23 22:20:42 -05:00
Carlos
9353385aa9 Update es.po strings, still a lot of review to do 2018-08-23 22:20:41 -05:00
Carlos
e6d79103ae Finished the translation of string on the main.c file 2018-08-23 22:17:15 -05:00
Dan Halbert
6493c164fc update tinyusb to match circuitpython/master 2018-08-23 17:10:30 -04:00
Dan Halbert
4cc33f8de6 Merge remote-tracking branch 'adafruit/master' into nrf_board_rename 2018-08-23 16:25:57 -04:00
Dan Halbert
728622f09d
Merge pull request #1139 from hathach/nrf52_usb_serial
use unique DevicID for usb serial
2018-08-23 09:30:31 -04:00
Dan Halbert
c135c7f376
Merge pull request #1138 from hathach/nrf52_SD610
update SD to v6.1.0
2018-08-23 09:08:12 -04:00
hathach
4a8cd03de1 use unique DevicID for usb serial 2018-08-23 14:00:54 +07:00
hathach
fed1960424 remove s140 6.0.0 and s132 6.1.0 (not supported yet) 2018-08-23 00:27:39 +07:00
hathach
0c0ac06fc7 add SD 6.1.0 to download all 2018-08-22 23:09:09 +07:00
hathach
7961103ee6 update SD to v6.1.0 2018-08-22 21:51:30 +07:00
Dan Halbert
05ea9fd296 remove stray underscore 2018-08-22 10:26:52 -04:00
Dan Halbert
eaf4d19dbb Merge remote-tracking branch 'adafruit/master' into nrf_board_rename
Merge #1137
2018-08-22 10:24:10 -04:00
Dan Halbert
6bfff29d22
Merge pull request #1137 from hathach/nrf52_dfu_touch1200
Nrf52 dfu touch1200, remove bootloader target
2018-08-22 10:14:08 -04:00
hathach
a516d1123f fix typos 2018-08-22 19:42:41 +07:00
hathach
02b1b53153 Merge branch 'master' into nrf52_dfu_touch1200 2018-08-22 15:24:12 +07:00
hathach
fc955b1591 remove bootloader binaries, update readme for using adafruit-nrufitl and flashing bootloader 2018-08-22 15:22:17 +07:00
Dan Halbert
c503cf990b forgot to change .travis.yml 2018-08-21 20:35:58 -04:00
Dan Halbert
85df32907f rename nrf boards to feather_nrf52832 and feather_nrf52840_express 2018-08-21 18:45:37 -04:00
hathach
df4184e478 rename linker file to SD major version only 2018-08-21 16:02:57 +07:00
hathach
1c4accfa39 Merge branch 'nrf52_remove_boot_target' into nrf52_dfu_touch1200 2018-08-21 15:17:03 +07:00
hathach
b7dd33b76e add touch 1200 for dfu-flash 2018-08-21 15:15:44 +07:00
Scott Shawcroft
182a8d7120
Merge pull request #1131 from tannewt/hallowing3
Support Hallowing in 3.x
2018-08-20 18:26:07 -07:00
Scott Shawcroft
2b6b0ffcd2
Remove HID from hallowing so we have more room for other stuff. 2018-08-20 18:04:35 -07:00
Scott Shawcroft
4a8dd7e96d
Merge pull request #1132 from tannewt/sk6812_3x
Speed up zero neopixel pulses.
2018-08-20 17:43:42 -07:00
Scott Shawcroft
44de3d49a8
Speed up zero neopixel pulses.
SK6812 on 5v is pickier than WS2812 on 5v.

Hopefully fixes #1083.
2018-08-20 17:04:46 -07:00
Scott Shawcroft
580a191cc8
Merge pull request #1130 from tannewt/translate
Update translations
2018-08-20 16:14:20 -07:00
ladyada
aeeb40e02c
Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-20 10:52:33 -07:00
Dan Halbert
1768057e87
add HalloWing 2018-08-20 10:52:24 -07:00
Scott Shawcroft
4c5a2380d0
Update translations 2018-08-20 09:39:11 -07:00
Scott Shawcroft
867a9c551f
Merge pull request #1116 from arofarn/patch-1
Strings internationalization : french
2018-08-19 22:54:05 -07:00
Scott Shawcroft
ea6b363c86
Merge pull request #1123 from notro/i2cslave_translate_fix
i2cslave: Fix missing translate() when raising exceptions
2018-08-19 22:42:31 -07:00
Noralf Trønnes
eefb6842a0 i2cslave: Fix missing translate() when raising exceptions
The translate() changes where applied after travis had checked the
i2cslave PR so this wasn't caught.
2018-08-18 16:00:06 +02:00
Pierrick C
f3f33a6455 Merge branch 'patch-1' of https://github.com/arofarn/circuitpython into patch-1 2018-08-18 09:03:09 +02:00
Pierrick C
d622ab480f Better translation for some strings 2018-08-18 09:02:30 +02:00
Pierrick C
35df2a0ac7 Updated fr.po 2018-08-18 09:02:30 +02:00
arofarn
f8b5bf55a0 Update fr.po
One more typo...
2018-08-18 09:02:30 +02:00
arofarn
4d7989a9c0 Update fr.po
Lots of corrections (thanks to @Anton-2 ) + utf8 => utf-8
2018-08-18 09:02:30 +02:00
arofarn
9770d122fb Update fr.po
Add misssing space at the end of line #40
2018-08-18 09:02:30 +02:00
arofarn
ef87941235 Update fr.po
Add charset=utf8
2018-08-18 09:02:30 +02:00
arofarn
db62fe679a Update fr.po
'step' and 'slices' consistency (thanks to @dglaude)
2018-08-18 09:02:30 +02:00
arofarn
3a4eb6514f Update fr.po
Some corrections (thanks to @dglaude !)
2018-08-18 09:02:30 +02:00
arofarn
f47484c266 Update fr.po
Add some translation (thanks to @dglaude) + small corrections
2018-08-18 09:02:30 +02:00
arofarn
a2a1cfac30 Update fr.po
Header update
2018-08-18 09:02:30 +02:00
arofarn
c8311f911b Update fr.po
Quelques corrections + ajout de traductions manquantes
2018-08-18 09:02:30 +02:00
arofarn
d12ea41614 Update fr.po
Quelques corrections (surtout pin = broche plutôt qu'entrée/sortie) + ajout de nouvelles traductions
2018-08-18 09:02:30 +02:00
arofarn
93c7f85c80 Update fr.po
Quelques corrections rapides
2018-08-18 09:02:30 +02:00
arofarn
493de0f988 Create fr.po
French translation for CircuitPython. Work-in-progress...
2018-08-18 09:02:30 +02:00
Pierrick C
e8e74fba62 Better translation for some strings 2018-08-18 09:01:22 +02:00
Pierrick C
7641c3b973 Updated fr.po 2018-08-18 08:32:05 +02:00
Scott Shawcroft
1a6f6ff8e4
Merge pull request #1122 from Jahor/patch-1
Fix PWM Support on port 1 of NRF52840
2018-08-17 16:54:03 -07:00
Scott Shawcroft
4a4d84ba42
Merge pull request #1064 from notro/i2cslave
Add busio.I2CSlave
2018-08-17 16:51:45 -07:00
Pierrick C
bcb6e20b5f Merge branch 'master' into patch-1 2018-08-17 18:22:51 +02:00
arofarn
c1a6637293
Merge pull request #3 from adafruit/master
Merge updated Circuitpython
2018-08-17 14:09:37 +02:00
Egor Leonenko
18e9f74738
Fix PWM Support on NRF52840
Replace usage of pin number alone with port+pin combination in NRF port of PWMOut
2018-08-17 19:34:03 +12:00
Scott Shawcroft
5dd420f7ff
Merge pull request #1121 from tannewt/huffman
Compress all translated strings with Huffman coding.
2018-08-16 19:22:45 -07:00
Scott Shawcroft
e8cf6a9072
Update to merged peripheral change. 2018-08-16 18:05:53 -07:00
Scott Shawcroft
c3c5951d44
Fix test that broke due to decompressing to too small of a scope. 2018-08-16 17:41:53 -07:00
Scott Shawcroft
96534e598e
Fix unix coverage and update translations. 2018-08-16 17:41:53 -07:00
Scott Shawcroft
76e0373576
Fix nrf and unix 2018-08-16 17:41:38 -07:00
Scott Shawcroft
2cd166b573
Fix esp and samd 2018-08-16 17:41:35 -07:00
Scott Shawcroft
137a30ad75
fix mpy-cross 2018-08-16 17:40:57 -07:00
Scott Shawcroft
de5a9d72dc
Compress all translated strings with Huffman coding.
This saves code space in builds which use link-time optimization.
The optimization drops the untranslated strings and replaces them
with a compressed_string_t struct. It can then be decompressed to
a c string.

Builds without LTO work as well but include both untranslated
strings and compressed strings.

This work could be expanded to include QSTRs and loaded strings if
a compress method is added to C. Its tracked in #531.
2018-08-16 17:40:57 -07:00
Scott Shawcroft
92ed5d7bf2
Merge pull request #1119 from tannewt/memory_free_fix
Fix crash due to unsigned index and 0 boundary loop.
2018-08-16 11:21:34 -07:00
Noralf Trønnes
11cbeb87ad ports/atmel-samd: Implement i2cslave.I2CSlave
This adds support for SAMD acting as a I2C slave in polled mode.
2018-08-16 17:20:49 +02:00
Noralf Trønnes
1ed0e45fc2 Add i2cslave.I2CSlave bindings 2018-08-16 17:11:20 +02:00
Noralf Trønnes
b6822b86ac busio/I2C: Split out samd_i2c_get_sercom()
It will be shared with I2CSlave.
2018-08-16 17:06:40 +02:00
Scott Shawcroft
e72cebbad6
Fix crash due to unsigned index and 0 boundary loop. 2018-08-16 00:29:18 -07:00
arofarn
9efe1053aa
Update fr.po
One more typo...
2018-08-15 14:10:51 +00:00
arofarn
b20df07eff
Update fr.po
Lots of corrections (thanks to @Anton-2 ) + utf8 => utf-8
2018-08-15 14:03:47 +00:00
arofarn
4b54d966b0
Update fr.po
Add misssing space at the end of line #40
2018-08-15 13:16:42 +00:00
arofarn
2acee61394
Update fr.po
Add charset=utf8
2018-08-15 13:02:12 +00:00
arofarn
ca46705df3
Update fr.po
'step' and 'slices' consistency (thanks to @dglaude)
2018-08-15 11:31:11 +00:00
arofarn
c059e2543b
Update fr.po
Some corrections (thanks to @dglaude !)
2018-08-15 11:17:01 +00:00
arofarn
401dd1f84b
Merge pull request #2 from arofarn/master
Merge last mod. in patch-1
2018-08-15 09:20:46 +00:00
arofarn
053277ee17
Update fr.po
Add some translation (thanks to @dglaude) + small corrections
2018-08-15 09:16:56 +00:00
arofarn
1ac0cc140d
Merge pull request #1 from arofarn/patch-1
Patch 1
2018-08-15 09:09:38 +00:00
arofarn
ee854a71a3
Update fr.po
Header update
2018-08-15 09:08:39 +00:00
arofarn
7f5f6ae994
Update fr.po
Quelques corrections + ajout de traductions manquantes
2018-08-14 18:11:52 +00:00
arofarn
65f15abac2
Update fr.po
Quelques corrections (surtout pin = broche plutôt qu'entrée/sortie) + ajout de nouvelles traductions
2018-08-14 17:59:27 +00:00
Scott Shawcroft
5f08ebdfc8
Merge pull request #1115 from ladyada/master
Change hallowing to shipping flash type W25Q64JV-IQ. tested!
2018-08-14 10:40:56 -07:00
ladyada
d8f2a61c39 Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-14 13:04:33 -04:00
Sebastian Plamauer
3e97d3e710 Add first translations to German 2018-08-14 18:01:43 +02:00
hathach
e1ccc07841 remove bootloader & dfu-bootloader target
user should go to bootloader repo to upgrade bootloader
2018-08-14 20:19:28 +07:00
arofarn
a5c857b302
Update fr.po
Quelques corrections rapides
2018-08-12 20:13:15 +00:00
arofarn
17d776d4e7
Create fr.po
French translation for CircuitPython. Work-in-progress...
2018-08-12 19:57:02 +00:00
Dan Halbert
3700bc83b3
Merge pull request #1105 from adafruit/tannewt-patch-3
Fix translation newlines
2018-08-11 00:15:24 -04:00
Scott Shawcroft
4513bd6ea3
Fix translation newlines
Escape table was incorrect
2018-08-10 16:17:03 -07:00
Dan Halbert
bbc034cd3d
Merge pull request #1104 from tannewt/more_strings
Fixes and translate more strings.
2018-08-09 20:00:18 -04:00
Dan Halbert
b735b9dbed
Merge pull request #1100 from tannewt/samr
Initial SAMR board revision.
2018-08-09 19:43:14 -04:00
Scott Shawcroft
24e53ad591
Rework escaping and fix ESP build. 2018-08-09 15:58:45 -07:00
Scott Shawcroft
1835f1ab14
Update filter and handle nested quotes 2018-08-09 14:16:28 -07:00
Scott Shawcroft
3123cc69c4
More strings 2018-08-09 14:15:18 -07:00
Scott Shawcroft
96ebf5bc3f
Two fixes and translate more strings.
* Fix finding translations with escaped characters.
* Add back \r to translations since its needed by screen.
2018-08-09 13:29:30 -07:00
Scott Shawcroft
86d2154d71
Change file mode back. 2018-08-09 09:14:14 -07:00
Scott Shawcroft
94c5ceab36
Initial SAMR board revision. 2018-08-09 05:36:46 -07:00
Scott Shawcroft
cac760aa6f
Merge pull request #1080 from jepler/uart-ll
UART: Always allocate UART objects in the long-lived pool
2018-08-08 21:36:33 -07:00
Jeff Epler
b0e33f6a11 atmel-samd: UART: allocate rx buffer in long-lived region
This is not strictly needed in order for #1056 to be resolved,
because the "make long-lived" machinery is unaware of this pointer.

However, as UARTs are assumed to be long-lived, this change is
beneficial because it moves the long-lived buffer into the upper
memory area with other long-lived objects, instead of remaining in
the low heap.
2018-08-08 19:21:57 -05:00
e1b4e9b7c7 UART: Always allocate UART objects in the long-lived pool
Particularly when they have buffers that are written via IRQ or DMA,
UART objects do not relocate gracefully.  If such an object is
relocated to the long-lived pool after its original creation, the
IRQ or DMA will write to an unexpected location within the Python
heap, leading to a variety of symptoms.  The most frequent symptom
is inability to read from the UART.

Consider the particular case of atmel-samd: usart_uart_obj_t
contains a usart_async_descriptor contains a _usart_async_device.
In _sercom_init_irq_param the address of this contained
_usart_async_device is assigned to a global array
sercom_to_sercom_dev which is later used from the interrupt context
_sercom_usart_interrupt_handler to store the received data in the
right ring buffer.

When the UART object is relocated to the long-lived heap, there's no
mechanism to re-point these internal pointers, so instead take the
cowardly way and allocate the UART object as long-lived.

Happily, almost all UART objects are likely to be long-lived, so
this is unlikely to have a negative effect on memory usage or heap
fragmentation.

Closes: #1056
2018-08-08 19:21:57 -05:00
Dan Halbert
9da79c880e
Merge pull request #1097 from tannewt/i18n_only
Support internationalisation.
2018-08-07 22:08:19 -04:00
Dan Halbert
2e80f37709
Merge pull request #1096 from tannewt/tune_neopixel
Retune neopixel timings on SAMD51. They were too slow.
2018-08-07 21:33:12 -04:00
Scott Shawcroft
b0dd645e27
Retune neopixel timings on SAMD51. They were too slow.
Fixes #1083
2018-08-07 16:58:37 -07:00
Scott Shawcroft
933add6cd8
Support internationalisation. 2018-08-07 14:58:57 -07:00
Scott Shawcroft
2029c4e87e
Merge pull request #1087 from dhalbert/increase-dyn-stack-size
increase new dynamic stack size to a comfortable value for now
2018-08-05 22:08:13 -07:00
Dan Halbert
498fec64e2 increase new dynamic stack size to a comfortable value for now 2018-08-03 22:35:20 -04:00
Dan Halbert
dfa2581ffd
Merge pull request #1057 from tannewt/flexible_heap
Add basic memory allocation outside Python runtime
2018-08-02 18:43:06 -04:00
Scott Shawcroft
4b247eacd8
Add todo for handling improper free. 2018-08-02 14:45:21 -07:00
Scott Shawcroft
5704bc8c93
Share memory.c and a bit of polish. 2018-08-02 14:35:46 -07:00
Dan Halbert
88ae7a9b21
Merge pull request #1082 from tannewt/no_pin_qstr
Reduce pin object size by removing the QSTR
2018-08-02 17:35:16 -04:00
Scott Shawcroft
64e5691fe7
Update to peripherals merge. 2018-08-02 13:59:12 -07:00
Scott Shawcroft
168aa394db
Move pin struct to the peripherals library.
Its slimmed down by removing the qstr and bit packing TCC info.

The trinket m0 build actually grows by 20 bytes. The arduino zero
build shrinks by 188 bytes.
2018-08-02 13:59:05 -07:00
Dan Halbert
e7ae5a3070
Merge pull request #1079 from tannewt/faster_qstr_pp
Speed up QSTR creation by pre-filtering files before pre-processing.
2018-08-02 15:56:36 -04:00
Scott Shawcroft
b50f46d4be
Rename to SRC_QSTR_PREPROCESSOR for clarity. 2018-08-02 11:07:22 -07:00
Scott Shawcroft
f6d1b63ecd
Handle emitnative.c which is #included into other .c files. 2018-08-02 00:51:53 -07:00
Scott Shawcroft
8cf03d2d00
Speed up QSTR creation by pre-filtering files before pre-processing. 2018-08-02 00:51:52 -07:00
Scott Shawcroft
24b4f28b9f
Merge pull request #1077 from hathach/nrf52_sys_module
try to address sys module #1070
2018-08-02 00:13:54 -07:00
hathach
0bc3432106 Merge branch 'master' into nrf52_sys_module 2018-08-01 11:53:12 +07:00
Dan Halbert
65bd07bb0b
Merge pull request #1074 from hathach/nrf52840_usb_hid
Nrf52840 usb hid
2018-08-01 00:47:50 -04:00
hathach
592c190069 PR review clean up 2018-08-01 11:31:32 +07:00
hathach
8640d37149 try to address sys module, compile ok 2018-08-01 10:19:20 +07:00
Dan Halbert
6333cffa7d
Merge pull request #1076 from hathach/samd_usbhid_typo
fix samd usb hid typo
2018-07-31 22:51:37 -04:00
hathach
200669216e more clean up 2018-08-01 08:52:07 +07:00
hathach
bac233e99b clean up 2018-08-01 08:47:41 +07:00
hathach
533d8dda96 fix samd usb hid typo 2018-08-01 08:40:04 +07:00
hathach
6ddd8583da clean up 2018-08-01 08:20:20 +07:00
Dan Halbert
761f9a938e
Merge pull request #1075 from tannewt/more_mp_raise
Use more mp_raise_* to save 28 bytes code size.
2018-07-31 19:09:10 -04:00
Scott Shawcroft
0bf999f52a
Use more mp_raise_* to save 28 bytes code size. 2018-07-31 13:50:48 -07:00
Scott Shawcroft
a88cdaca6a
Remove rogue execute bit. Must a common incorrect shortcut for me. :-) 2018-07-31 12:42:21 -07:00
hathach
1e524f1b98 Merge branch 'master' into nrf52840_usb_hid 2018-08-01 00:58:23 +07:00
hathach
20c25f61d9 update tinyusb 2018-08-01 00:53:56 +07:00
hathach
85bd46a4e1 enable MICROPY_PY_ARRAY_SLICE_ASSIGN, MICROPY_PY_BUILTINS_SLICE_ATTRS 2018-07-31 23:09:39 +07:00
hathach
4bece22c92 add hid keyboard LED indicator stub 2018-07-31 23:02:15 +07:00
hathach
05139e2aee all hid devices seems to be ok 2018-07-31 22:54:26 +07:00
hathach
2c85f42330 add usb hid syscontrol 2018-07-31 21:57:00 +07:00
hathach
ef58adacd3 usb hid consumer control works 2018-07-31 21:19:02 +07:00
hathach
fd661c1d57 improve usb hid 2018-07-31 21:06:24 +07:00
Scott Shawcroft
b334289669
Reenable LTO for debug. 2018-07-31 05:18:23 -07:00
Scott Shawcroft
12cf5e51c2
Allow for resizing the stack area. 2018-07-31 05:18:23 -07:00
Scott Shawcroft
777542c716
Add basic memory allocation outside Python runtime
This allows for the heap to fill all space but the stack. It also
allows us to designate space for memory outside the runtime for
things such as USB descriptors, flash cache and main filename.

Fixes #754
2018-07-31 05:18:03 -07:00
hathach
27b2a9fe59 add usb_desc, disable tinyusb stack CFG_TUD_DESC_AUTO 2018-07-31 17:50:32 +07:00
hathach
d15caf0dbd hid keyboard and mouse work well 2018-07-31 16:42:04 +07:00
hathach
221d54a595 workaround to use lib/utils/interrupt_char.c 2018-07-31 14:28:34 +07:00
hathach
ae783b0b1a update tinyusb, set scsi sense key for unsupported commands 2018-07-31 13:54:58 +07:00
Dan Halbert
bf033123a7
Merge pull request #1073 from adafruit/tannewt-patch-2
Wordsmith
2018-07-30 19:21:33 -04:00
Scott Shawcroft
0a02d77d64
Comment that it may vary by board 2018-07-30 15:20:12 -07:00
Scott Shawcroft
76971d9907
Wordsmith
For #1067
2018-07-30 15:04:40 -07:00
Scott Shawcroft
a6d94b6845
Merge pull request #1068 from dhalbert/micropython-25ae98f-merge
Micropython 25ae98f merge
2018-07-30 12:33:44 -07:00
Dan Halbert
b1006170f1 Download arm-none toolchain only when necessary. 2018-07-30 12:17:52 -04:00
Scott Shawcroft
433a29bb70
Merge pull request #1066 from Makdaam/issue1033
Fixin issue1033
2018-07-29 19:01:50 -07:00
Dan Halbert
fbe98ff9a9
Merge pull request #1071 from dhalbert/3.x-hallowing
add HalloWing
2018-07-29 20:24:47 -04:00
Dan Halbert
680597547c add HalloWing 2018-07-29 19:22:16 -04:00
Dan Halbert
c76a4d477f remove qemu-arm build; fix docs build bugs 2018-07-29 16:47:06 -04:00
Dan Halbert
bfbb5cde5a put back test in qemu-arm build 2018-07-28 23:40:17 -04:00
Dan Halbert
a5068eae0d fix .travis.yml 2018-07-28 16:43:48 -04:00
Dan Halbert
2e260a0eab Merge remote-tracking branch 'adafruit/master' into micropython-25ae98f-merge 2018-07-28 14:13:54 -04:00
Dan Halbert
f48b70050e merge finished 2018-07-28 13:29:47 -04:00
Leszek Jakubowski
a99f942742 '/' and '\' are also acceptable ends of the path now 2018-07-28 17:07:22 +02:00
hathach
368d59796f adding usb_hid
compiled with undefined ref
2018-07-27 17:36:41 +07:00
hathach
21339c4155 house keeping 2018-07-27 17:22:21 +07:00
hathach
e86f7d0b88 add usb msc callback description 2018-07-27 00:17:14 +07:00
hathach
5bdf40901f update tusb lib 2018-07-26 17:16:41 +07:00
Dan Halbert
fbfc9c3995
Merge pull request #1062 from tannewt/import_merge
Merge in the rest of 3.x
2018-07-25 22:34:58 -04:00
Dan Halbert
f6d09d0605
Merge pull request #1060 from tannewt/uf23
Update uf2 tools to support python3.
2018-07-25 21:21:52 -04:00
Dan Halbert
ef46a0a554
Merge pull request #1061 from tannewt/import_merge
Merge 3.x into master
2018-07-25 21:21:14 -04:00
Dan Halbert
6b01f37bbf
Merge pull request #1058 from tannewt/gcc_2018q2
Update travis to gcc 2018q2.
2018-07-25 18:28:59 -04:00
Scott Shawcroft
1ffb0a714f
Merge remote-tracking branch 'adafruit/3.x' into import_merge 2018-07-25 11:49:18 -07:00
Scott Shawcroft
d855f322b9
Merge branch '3.x' into import_merge 2018-07-25 10:15:55 -07:00
Scott Shawcroft
70df242f72
Update uf2 tools to support python3. 2018-07-25 09:39:46 -07:00
Scott Shawcroft
055725f744
Update travis to gcc 2018q2. 2018-07-25 07:50:29 -07:00
Dan Halbert
bc760dd341 WIP: complete manual inspection of all significant changes 2018-07-23 21:34:25 -04:00
Scott Shawcroft
08def6b51e
Merge pull request #1052 from dhalbert/speed-up-dict-long-lived
Prevent repetitive recursive scanning of dicts when making them long-…
2018-07-23 18:17:08 -07:00
Dan Halbert
be1d882a8b Prevent repetitive recursive scanning of dicts when making them long-lived 2018-07-19 15:19:21 -04:00
arturo182
1fb81979b2
Merge pull request #1036 from hathach/fix_nrf52840_serial
Fix nrf52840 serial mentioned #1021
2018-07-18 09:03:56 +02:00
hathach
bb28faf39c arturo182 review 2018-07-17 23:57:49 +07:00
hathach
a0b9871ba9 use seperate interrupt_char.c for nrf
move usb descriptors into usb.c
2018-07-17 21:52:20 +07:00
hathach
d4e84a9bd4 Merge branch 'master' into fix_nrf52840_serial 2018-07-17 21:27:16 +07:00
hathach
3525d65af3 should fix #1021
- update tinyusb for wanted char
- move usb code into usb.c
2018-07-17 21:24:49 +07:00
Dan Halbert
2809b4f9dd Merge branch 'master' into micropython-25ae98f-merge 2018-07-16 19:36:40 -04:00
Scott Shawcroft
617351aebc
Merge pull request #1031 from dhalbert/3.0.0-to-master
Merge 3.0.0 final bugfixes and changes to master
2018-07-16 15:09:37 -07:00
Dan Halbert
a20ab40ed2 Merge 3.0.0 final bugfixes and changes to master 2018-07-16 09:01:46 -04:00
Scott Shawcroft
6c5a152a51
Merge pull request #1028 from dhalbert/class-property-fix
do not call property if referenced by class, not object
2018-07-15 22:51:18 -07:00
Dan Halbert
6dfa527f79 do not call property if referenced by class, not object 2018-07-14 22:17:25 -04:00
Dan Halbert
e2e01efa84 compiles and runs; hangs on import storage;storage.VfsFat.<tab> 2018-07-13 22:51:10 -04:00
Dan Halbert
bfe14ff824
Merge pull request #1014 from arturo182/nrf_shared_ble
nrf: Split the ble module into a shared part and the port implementation
2018-07-13 10:23:37 -04:00
Dan Halbert
414267388d
Merge pull request #1023 from arturo182/nrf_pyocd
nrf: Fix flashing with pyocd
2018-07-13 10:02:20 -04:00
arturo182
05c1384b67 nrf: Split the ble module into a shared part and the port implementation
This allows other ports to implement these shared bindings.
2018-07-13 16:01:15 +02:00
Dan Halbert
2f877bd851
Merge pull request #1022 from arturo182/nrf_usb_ble
nrf: Fix BLE on nRF52840 after adding the USB functionality
2018-07-13 09:47:03 -04:00
arturo182
883ca21321 nrf: Fix flashing with pyocd 2018-07-13 15:22:46 +02:00
arturo182
9729fc3d31 nrf: Fix BLE on nRF52840 after adding the USB functionality 2018-07-13 14:55:02 +02:00
Scott Shawcroft
75f48a5bc7
Merge pull request #1004 from adafruit/nrf52840_usbboot
Nrf52840 usbboot
2018-07-12 11:47:27 -07:00
Dan Halbert
0d27f4d9a6 continued WIP: almost compiling 2018-07-12 14:13:51 -04:00
hathach
862ae2ff8d exclude usb from doc build 2018-07-12 15:13:56 +07:00
Dan Halbert
7c219600a2 WIP: after merge; before testing 2018-07-11 16:45:30 -04:00
hathach
873e20273e fix travis build 2018-07-12 02:17:55 +07:00
hathach
4b1f880904 clean up 2018-07-12 02:08:03 +07:00
hathach
f98c7f708e merge review 2018-07-12 01:37:23 +07:00
Scott Shawcroft
1c92c3317b
Merge pull request #1013 from dhalbert/static-mpy-cross-build
Add STATIC_BUILD make flag for mpy-cross to build a static executable
2018-07-11 10:54:52 -07:00
hathach
10846d316b Merge branch 'master' into nrf52840_usbboot 2018-07-11 21:35:44 +07:00
Dan Halbert
d305e7d6cf handle errno defns for mingw and use correct executable name 2018-07-10 22:29:36 -04:00
Dan Halbert
4962468fff
Merge pull request #1011 from arturo182/nrf_cleanup
nrf: More cleanup and porting
2018-07-10 15:44:30 -04:00
hathach
a53b1c7cf1 code format 2018-07-10 22:49:51 +07:00
Dan Halbert
85d5d321e2 Add STATIC_BUILD make flag for mpy-cross to build a static executable 2018-07-10 10:38:32 -04:00
arturo182
eab00ff140 nrf: Remove even more unused files 2018-07-10 14:59:22 +02:00
arturo182
2c63fb2a94 nrf: Remove the random hal and module
Thus getting rid of the whole old hal!
The module is not needed because the common-hal
nRF implementation uses HW RNG anyway.
2018-07-10 14:59:22 +02:00
arturo182
1163462635 nrf: Remove the old time hal and replace with nRFx 2018-07-10 14:59:10 +02:00
hathach
ce01496d44 try to fix travis build error 2018-07-10 12:06:54 +07:00
Scott Shawcroft
e875f4e52e
Merge pull request #1002 from arturo182/nrfx_gpio
nrf: Rewrite the DigitalInOut hal using nRFx
2018-07-09 17:54:38 -07:00
Kattni
85a5276f36
Merge pull request #1006 from dhalbert/3.x-fix-pull
must set pull after setting direction with gpio_set_pin routines
2018-07-09 17:53:47 -04:00
Dan Halbert
8bb363f7c4 must set pull after setting direction with gpio_set_pin routines 2018-07-09 17:18:06 -04:00
hathach
69f224aec3 change gitmodule link from git to https 2018-07-10 02:39:38 +07:00
hathach
0e819599e7 Merge branch 'master' into nrf52840_usbboot 2018-07-10 02:02:52 +07:00
hathach
7715d19efe update bootloader hex 2018-07-10 01:20:37 +07:00
hathach
97a1ae911e add family option for uf2 2018-07-10 01:18:14 +07:00
hathach
f199e87085 add ARRAY_SIZE
which is missing when building with debug mode
2018-07-10 01:06:57 +07:00
hathach
c5089d7274 generate uf2 by default
update tusb
2018-07-10 01:02:33 +07:00
Dan Halbert
64b9ee9c74
Merge pull request #985 from tannewt/heap_tweaks3
A few heap related tweaks
2018-07-08 23:21:38 -04:00
Scott Shawcroft
a45659c59a
Merge pull request #1000 from arturo182/nrfx_uart
nrf: Rewrite the UART HAL using nRFx
2018-07-08 20:17:47 -07:00
Scott Shawcroft
133b99b6f2
Merge pull request #999 from arturo182/nrf_mphalport
nrf: mphalport cleanup
2018-07-08 20:13:21 -07:00
Scott Shawcroft
fd5634e4aa
Merge pull request #992 from arturo182/nrf_i2c_fix
nrf: Fix I2C transfers with data larger than HW allows
2018-07-08 20:12:09 -07:00
Scott Shawcroft
8985b1aa6c
Merge pull request #991 from arturo182/nrf_spi_fix
nrf: Fix SPI transfers with data larger than HW allows
2018-07-08 20:11:07 -07:00
arturo182
388f554ff6 nrf: Rewrite the DigitalInOut hal using nRFx 2018-07-08 17:48:32 +02:00
arturo182
25ece8fb3d nrf: Rewrite the UART HAL using nrfx 2018-07-08 16:42:04 +02:00
arturo182
c6a2a55bc9 nrf: Cleanup mpconfigboard files
All the removed defines were used by legacy modules that are now
removed.
2018-07-08 15:18:11 +02:00
arturo182
887486582e nrf: Remove port-specific help
It contains mentions to the pyb module which was removed.
The ble-specific help will be re-added later when the API
is stabilized.
2018-07-08 15:18:11 +02:00
arturo182
1ea633c484 nrf: mphalport cleanup 2018-07-08 14:39:30 +02:00
arturo182
da27253693 nrf: Fix I2C transfers with data larger than HW allows 2018-07-06 21:12:24 +02:00
arturo182
ac74edb4e4 nrf: Fix SPI transfers with data larger than HW allows 2018-07-06 21:10:25 +02:00
hathach
baf68a936e remove hal_time files 2018-07-06 15:59:20 +07:00
hathach
3e319694aa mp_hal_delay_ms() to call background task
remove hal_time.c
2018-07-06 15:48:01 +07:00
hathach
948ddf8463 make SD default to s140 and s132 for nrf52840 and nrf52832
add CFG_HWUART_FOR_SERIAL for using jlink as REPL
2018-07-06 14:39:49 +07:00
hathach
6ef3a0b181 implement filesystem_writable_by_python() 2018-07-06 13:01:07 +07:00
Scott Shawcroft
fba2d9fa6c
Merge pull request #993 from dhalbert/update_crickit_libs-3
update Crickit library to fix stepper Drive issues
2018-07-05 17:45:22 -07:00
Dan Halbert
53d821332f update Crickit library to fix stepper Drive issues 2018-07-05 17:35:20 -04:00
Scott Shawcroft
54179a0189
Use .s in samd Makefile too. 2018-07-05 04:44:00 -07:00
hathach
0806c0a38b update fatfs cached sector when running write10 2018-07-05 17:43:38 +07:00
hathach
4e5d9a029d clean up 2018-07-05 17:26:07 +07:00
hathach
0365912e28 implement msc with internal_flash api
Note: only work with SD is disabled.
2018-07-05 16:19:04 +07:00
hathach
3564e98181 implement msc flash, seems to work 2018-07-05 15:22:23 +07:00
hathach
1745e20391 replace jlink with native usb cdc for serial REPL 2018-07-05 11:30:12 +07:00
hathach
be2ff20e42 enable usb cdc interface
not handle anything yet.
2018-07-04 17:15:49 +07:00
hathach
6d0cb96c85 hack to call tusb_task() in the mainloop 2018-07-04 16:41:26 +07:00
hathach
7fff7f5e70 add usb msc support for nrf52840 2018-07-04 16:40:53 +07:00
Scott Shawcroft
ff0a6f4ec3
Merge pull request #986 from tannewt/include_rtc_fix
include RTC fix for SAMd51 in circuitpython build
2018-07-03 14:16:48 -07:00
Scott Shawcroft
074c5ea144
Merge pull request #977 from dhalbert/update_crickit_libs-2
update crickit-related libs
2018-07-03 12:04:05 -07:00
Dan Halbert
bf9981e8db bring all frozen libraries up to date 2018-07-03 14:39:21 -04:00
hathach
a73effa5b6 update tusb 2018-07-04 00:28:43 +07:00
Scott Shawcroft
8fb976f0bd
Split out assembly source files. 2018-07-03 07:25:54 -07:00
mrmcwethy
d9723bb613
include RTC fix for SAMd51 in circuitpython build 2018-07-03 06:52:05 -07:00
Scott Shawcroft
dbc977485c
Support gathering register values on nrf. 2018-07-03 06:31:07 -07:00
Scott Shawcroft
f3f8e13b88
analyze everything 2018-07-03 05:45:51 -07:00
Scott Shawcroft
cced51cbd2
Limit qstr pool size to reduce memory waste. 2018-07-03 05:45:51 -07:00
Scott Shawcroft
9de611c056
Always collect after an import
Imports generate a lot of garbage so cleaning it up immediately
reduces the likelihood longer lived data structures don't end up in
the middle of the heap.

Fixes #856
2018-07-03 05:45:50 -07:00
Scott Shawcroft
519287550c
Long-live code.py itself. 2018-07-03 05:45:50 -07:00
Scott Shawcroft
ec78d3cefd
Mark pointers in cpu registers as in use.
This prevents bugs where gc_collect is called from C code that did
a recent allocation.
2018-07-03 05:45:50 -07:00
Scott Shawcroft
252aacdddf
Analysis fixes and long lived tweaks. 2018-07-03 05:45:50 -07:00
hathach
36e2f38933 update tools/uf2 to have family support 2018-07-03 17:49:59 +07:00
hathach
46c453cf0a add tinyusb as submodule 2018-07-03 17:46:08 +07:00
hathach
b14b28067e Merge branch 'master' into nrf52840_usbboot 2018-07-03 17:29:28 +07:00
Scott Shawcroft
321daa3523
Merge pull request #983 from adafruit/tannewt-patch-1
Comment tweak after board change
2018-07-02 18:26:26 -07:00
Scott Shawcroft
bf00cde37d
Comment tweak after board change 2018-07-02 14:51:06 -07:00
Scott Shawcroft
b91202969a
Merge pull request #982 from arturo182/nrf_makefile
nrf: Save some flash bytes by using extra compile flags
2018-07-02 14:33:47 -07:00
Scott Shawcroft
05a088b369
Merge pull request #972 from arturo182/nrf_i2c
nrf: Rewrite the I2C common-hal using nrfx
2018-07-02 14:33:06 -07:00
arturo182
da491ec961 nrf: Save some flash bytes by using extra compile flags
Both of these are used in the atsamd port as well.
2018-07-02 22:00:04 +02:00
Scott Shawcroft
923ef3d702
Merge pull request #978 from kattni/audioio-rawsample-doc-fix
Fixed issue with code in docs for audioio
2018-07-01 23:47:21 -07:00
Scott Shawcroft
a0c5182548
Merge pull request #976 from mrmcwethy/makefile1
Test the BOARD parameter for nullness
2018-07-01 23:46:23 -07:00
Kattni Rembor
a10c61ef89 Fixed issue with code in docs for audioio
Removed incorrect arg from RawSample in AudioOut example code.
Replaced variable sample with dac.
2018-06-29 16:46:25 -04:00
Scott Shawcroft
f1248dcdf4
Merge pull request #973 from dhalbert/3.x_onewire_fix
fix OneWire timing and DigitalInOut.switch_to_input()
2018-06-29 13:43:50 -07:00
Dan Halbert
b68cd14391 update crickit-related libs 2018-06-29 16:32:25 -04:00
Dan Halbert
7c9a0e2996 remove unnecessary extern in nrf/mphalport.c 2018-06-29 16:06:51 -04:00
Dan Halbert
7028a399c2 remove previously added esp8266/mphalport.{c,h} 2018-06-29 16:04:18 -04:00
Dan Halbert
2a0b857643 implement mp_hal_delay_us() to not need interrupts, and use it 2018-06-29 16:01:46 -04:00
mrmcwethy
df4469f92b Test the BOARD parameter for nullness; display a error if nothing provided 2018-06-29 12:22:31 -07:00
Scott Shawcroft
a405892d8a
Merge pull request #974 from mrmcwethy/fixrtc
include RTC fix for SAMd51 in circuitpython build
2018-06-29 11:52:10 -07:00
mrmcwethy
d392f01f2c include RTC fix for SAMd51 in circuitpython build 2018-06-29 05:45:38 -07:00
Dan Halbert
b4fd77bb7c fix nrf and esp8266 builds for OneWire fix 2018-06-29 00:00:05 -04:00
Dan Halbert
52a11547cb fix OneWire timing and DigitalInOut.switch_to_input() 2018-06-28 23:32:20 -04:00
Scott Shawcroft
3aa4b18aed
Merge pull request #971 from arturo182/travis_optim
travis: Try to shave off some seconds from build times
2018-06-28 14:03:12 -07:00
Scott Shawcroft
429168d4ac
Merge pull request #970 from arturo182/nrf_softdev
nrf: Remove unsupported softdevice defines
2018-06-28 14:01:19 -07:00
Scott Shawcroft
007155276a
Merge pull request #969 from arturo182/nrf_more_commonhal
nrf: Rewrite more common-hal with nrfx and sync with atsamd port
2018-06-28 14:00:45 -07:00
Scott Shawcroft
039b4dc00a
Merge pull request #968 from arturo182/nrf_qstr
nrf: Remove old qstr defines
2018-06-28 13:57:46 -07:00
Scott Shawcroft
ae82a93b56
Merge pull request #967 from arturo182/nrf_os
nrf: Rewrite the os common-hal using nrfx
2018-06-28 13:55:34 -07:00
Scott Shawcroft
a0425d9134
Merge pull request #966 from arturo182/nrf_analogio
nrf: Rewrite the AnalogIn common-hal using nrfx
2018-06-28 13:54:34 -07:00
Scott Shawcroft
6908eed7ef
Merge pull request #965 from dhalbert/3.x-crickit-lib
3.x crickit lib
2018-06-28 13:51:35 -07:00
arturo182
178c089045 nrf: Rewrite the I2C common-hal using nrfx 2018-06-28 22:45:02 +02:00
Dan Halbert
d98701c8d1 updates crickit and motor frozn libs with latest changes, including 550-2400 default servo range 2018-06-27 21:27:10 -04:00
arturo182
051c9dac19 travis: Try to shave off some seconds from build times 2018-06-28 00:17:14 +02:00
arturo182
6e6a500801 nrf: Rewrite the os common-hal using nrfx 2018-06-27 21:01:07 +02:00
arturo182
af5cb9c492 nrf: Remove unneeded hal files 2018-06-27 21:00:34 +02:00
arturo182
b87bba8a28 nrf: Rewrite more common-hal with nrfx and sync with atsamd port 2018-06-27 20:55:29 +02:00
arturo182
1fa8fac5d7 nrf: Remove old qstr defines
These were used by the microbit music module, which was removed.
2018-06-27 20:52:13 +02:00
arturo182
b9f02ca3c5 nrf: Remove unsupported softdevice defines 2018-06-27 20:48:57 +02:00
arturo182
2a12fcd18b nrf: Rewrite the AnalogIn common-hal using nrfx 2018-06-27 20:41:30 +02:00
hathach
c4f11dfd32 flash target update bootloader setting to skip crc checksum 2018-06-27 15:22:44 +07:00
hathach
8fbe1d73e9 clean up makefile 2018-06-27 15:13:20 +07:00
hathach
4920cc47ca move dfu-gen dfu-flash dfu-bootloader bootloader uf2 target to common Makefile since several board use it 2018-06-27 14:31:08 +07:00
hathach
bed7310fd7 update bin files 2018-06-27 14:13:18 +07:00
hathach
ecd3993d43 update pin map for feather52840 2018-06-27 14:06:15 +07:00
Dan Halbert
f5df3d37ea add Crickit library to docs/drivers.rst 2018-06-26 19:56:10 -04:00
Dan Halbert
1f3de5174e Freeze Adafruit_CircuitPython_Crickit into crickit builds 2018-06-26 19:49:55 -04:00
Scott Shawcroft
91427b0b23
Merge pull request #959 from arturo182/nrf_spim
nrf: Rewrite the SPI common-hal using nrfx
2018-06-26 11:00:12 -07:00
Scott Shawcroft
d7d132d5a3
Merge pull request #960 from arturo182/nrf_stm_cleanup
nrf: Remove leftovers from stm32 code copy
2018-06-26 10:52:04 -07:00
Scott Shawcroft
479dbfe720
Merge pull request #961 from arturo182/nrf_hal_remove
nrf: Remove unused hal files
2018-06-26 10:51:31 -07:00
Scott Shawcroft
dc9e9317ca
Merge pull request #962 from dhalbert/3.x_to_master-1
3.x to master 1
2018-06-26 10:50:15 -07:00
Dan Halbert
a7d3053049 Update master with latest 3.x changes. 2018-06-26 08:45:24 -04:00
arturo182
16973d0559 nrf: Remove unused hal files
Makes it easier to keep track of what's left to rewrite.
2018-06-26 00:13:41 +02:00
arturo182
2f1e678d60 nrf: Rewrite the SPI common-hal using nrfx
Use SPIM2 on nRF52832 and SPIM3 on nRF52840. SPIM3 is able to go
up to 32MHz!
2018-06-25 23:46:34 +02:00
arturo182
b14d13e318 nrf: Remove leftovers from stm32 code copy 2018-06-25 23:38:10 +02:00
hathach
8d065fe0e6 update reamde 2018-06-26 00:16:58 +07:00
hathach
54547683f9 add uf2, bootloader target 2018-06-25 23:31:14 +07:00
hathach
4d45565663 update tools/uf2 to support hex input for uf2conv.py 2018-06-25 23:27:37 +07:00
hathach
4722371be9 update bootloader hex with uf2 2018-06-25 23:27:00 +07:00
hathach
f5be5ed6ee Merge branch 'master' into nrf52840_usbboot 2018-06-25 17:12:24 +07:00
Scott Shawcroft
c1924f375d
Merge pull request #951 from arturo182/nrf_cleanup
nrf: General cleanup
2018-06-24 23:09:47 -07:00
Scott Shawcroft
5ae8094747
Merge pull request #953 from dhalbert/allow-mount-slash
Allow mounting '/' on '/'
2018-06-24 22:59:14 -07:00
arturo182
596a1d8843 nrf: Rename feather52 to feather52832 in readme files 2018-06-22 10:04:39 +02:00
Dan Halbert
dbf1a2f7d5 allow '/' to be mounted on '/' from Python code 2018-06-21 09:24:40 -04:00
arturo182
0686857e3c nrf: Exclude nrfx files from sphinx build 2018-06-21 07:34:04 +02:00
jerryneedell
de4cd1ee73 add pins D3/D4 to pins.c
fixes  #948
2018-06-20 22:26:59 -04:00
arturo182
25e71a56d4 nrf: Update the PCA10056 example to use new pin naming 2018-06-20 23:39:36 +02:00
arturo182
deec17e4fe nrf: Remove really old examples
These examples rely on machine and pyb modules, so they have to get.
Leaving 3 BLE examples that also rely on those modules, but can be
fixed to use CP's modules.
2018-06-20 23:38:18 +02:00
arturo182
9c08db55ff nrf: Cleanup machine and microbit leftovers
The music module was useful when this port had support for the
microbit, now that it was removed, it's not so useful.
2018-06-20 23:30:34 +02:00
arturo182
c2d4d0a10b nrf: Simplify pin generation and definition
This commit cleans up the pin generation code, all the pins and their
AF (only ADC, for now) are specified in nrf52_af.csv and board use their
own csv file to specify which pins are available on that board and if
they have any special names.
2018-06-20 23:26:32 +02:00
arturo182
ff918556cd nrf: Simplify the board makefiles
With the only difference between a SD and non-SD build is the linker
file, there's no need to have two separate .mk per board files,
just use a conditional.
2018-06-20 21:21:45 +02:00
arturo182
5509f394dc nrf: Add a nrfx submodule and prepare for using the new drivers 2018-06-20 20:43:59 +02:00
arturo182
7cd34f2a94 nrf: Cleanup Makefile after nrf51 removal 2018-06-20 18:21:18 +02:00
arturo182
97f10241f9 nrf: Fix default board after feather52 rename 2018-06-20 18:21:18 +02:00
arturo182
b47a67d566 nrf: Remove machine, pyb and utime modules
Micropython legacy, keeping it consistent with atsam port.
2018-06-20 18:21:18 +02:00
Dan Halbert
5fb4cdce45
Merge pull request #949 from adafruit/jerryneedell-patch-2-1
add pins D3/D4 to pins.c
2018-06-20 00:43:09 -04:00
jerryneedell
80d16cb7df
add pins D3/D4 to pins.c
fixes  #948
2018-06-19 22:34:29 -04:00
hathach
61437106e7 update bootloader for feather nrf52840 2018-06-19 15:27:07 +07:00
hathach
6d2702ed98 Merge branch 'master' into nrf52840_usbboot 2018-06-19 14:50:17 +07:00
Scott Shawcroft
4e7eee3553
Merge pull request #946 from arturo182/nrf_sd6
nrf: Use the production version of s140 6.0.0
2018-06-18 16:29:41 -07:00
Dan Halbert
f5fab358aa
Merge pull request #945 from tannewt/nrf52832
Switch to Feather52s full name to avoid confusion with the nrf52840 later
2018-06-18 18:11:06 -04:00
Scott Shawcroft
c90abb1370 Fix BLE file download for travis. 2018-06-18 14:28:45 -07:00
arturo182
feee808955 nrf: Use the production version of s140 6.0.0 2018-06-18 23:12:28 +02:00
Scott Shawcroft
724bd7c17f Correct the tool build 2018-06-18 14:07:21 -07:00
Scott Shawcroft
05547b72ac Switch to Feather52s full name to avoid confusion with the nrf52840 later.
Fixes #940
2018-06-18 10:51:04 -07:00
Dan Halbert
be5eb91df8
Merge pull request #938 from sommersoft/esp_busio_fix
ESP8266: Fix pin locking during busio.SPI.configure
2018-06-16 11:49:20 -04:00
Scott Shawcroft
35ead7bf39
Merge pull request #935 from dhalbert/mount_name_clash_check
do not permit mounting over a directory or file with the same name as the mount point
2018-06-16 08:37:52 -07:00
Dan Halbert
92b531d0c3
Merge pull request #939 from tannewt/travis840
Add auto-build for nrf52840 development kit, PCA10056
2018-06-15 21:10:53 -04:00
Dan Halbert
e475256b38
Merge pull request #937 from tannewt/separate_peripherals_lib
Split out the peripherals library in preparation of sharing with MakeCode
2018-06-15 19:45:14 -04:00
Scott Shawcroft
b4338921de Add auto-build for nrf52840 development kit, PCA10056 2018-06-15 16:34:26 -07:00
Scott Shawcroft
a5e03b76a6 Split out the peripherals library in preparation of sharing with MakeCode. 2018-06-15 16:16:21 -07:00
Dan Halbert
f152889938 do not permit mounting over a directory or file with the same name as the mount point 2018-06-15 13:53:30 -04:00
Limor "Ladyada" Fried
9fc0ec6af8
Merge pull request #934 from microbuilder/usbboot
[WIP] nRF52840 USB Bootloader
2018-06-15 09:35:30 -07:00
Scott Shawcroft
5ce1d71206
Merge pull request #932 from dhalbert/listdir_root
fix os.listdir() when current dir is '/'
2018-06-15 09:34:08 -07:00
Dan Halbert
327b0f76da fix os.listdir() when current dir is '/' 2018-06-15 10:51:03 -04:00
sommersoft
23b6d33455 fixes #642; spi_init_gpio() is now bypassed for both construct and configure 2018-06-15 05:03:52 +00:00
Scott Shawcroft
720042f964
Merge pull request #930 from dhalbert/sd_card_audio_play
Fix playing audio from SD card
2018-06-14 18:57:24 -07:00
Dan Halbert
fa814a32ce Make Trinket M0 build fit; make RAMFS in vfs_fat_* tests be compliant with expected API 2018-06-14 21:02:12 -04:00
Dan Halbert
e724bc1c4e Fix playing audio from SD card 2018-06-14 18:47:40 -04:00
hathach
35d38dbfed update nrf52840 bootloader hex 2018-06-13 17:27:55 +07:00
Scott Shawcroft
618943d90a
Merge pull request #926 from nickzoic/circuitpython-nickzoic-716-pulseio-esp8266
Implement pulseio.PulseIn and PulseOut for ESP8266 #716
2018-06-12 18:33:16 -07:00
Dan Halbert
144c0597e9
Merge pull request #928 from tannewt/fix_uart_timeout
Correct UART reads to return error on timeout.
2018-06-12 18:41:18 -04:00
Scott Shawcroft
ee817a2fa8 Correct UART reads to return error on timeout.
This causes read to correctly return None instead of b''.

Fixes #874
2018-06-12 14:03:27 -07:00
Scott Shawcroft
ab0bc1c2f8
Merge pull request #927 from dhalbert/pdmin_serializer_on_off
PDMIn: turn serializer on when starting DMA
2018-06-12 10:42:08 -07:00
Dan Halbert
4691b30c02 PDMIn: turn serializer on when starting DMA 2018-06-12 12:35:51 -04:00
Dan Halbert
d427ed64a2
Merge pull request #925 from tannewt/latest_asf4
Update to the latest ASF4 which includes an I2C timeout extension …
2018-06-11 23:05:24 -04:00
Scott Shawcroft
73dadb0669 Update to the latest ASF4 which includes an I2C timeout extension while waiting for clock stretching.
Fixes #778
2018-06-11 18:37:48 -07:00
Kattni
1e6363cbcc
Merge pull request #917 from dglaude/patch-1
Update README.rst
2018-06-11 12:46:54 -04:00
Dan Halbert
6a0fc96af3
Merge pull request #922 from tannewt/rosie_tweak
Add trailing dash so that the exact board is matched.
2018-06-10 18:19:38 -04:00
Scott Shawcroft
85c5e88e17 Add trailing dash so that the exact board is matched. 2018-06-10 14:24:47 -07:00
David Glaude
df4d40471a
Update README.rst
https://learn.adafruit.com/introducing-itsy-bitsy-m0/circuitpython
2018-06-10 23:07:03 +02:00
Scott Shawcroft
83b0f620c6
Merge pull request #921 from jepler/travis-build-esp
Build for feather huzzah on travis-ci
2018-06-10 13:43:20 -07:00
52c0fc421b travis.yml: Enable building feather huzzah 2018-06-10 14:56:55 -05:00
bbba3e505f build_adafruit_bins: feather_huzzah need not be a special case 2018-06-10 14:56:55 -05:00
Dan Halbert
068ffd04a6
Merge pull request #919 from adafruit/jerryneedell-patch-2
fix #918
2018-06-10 09:17:49 -04:00
Dan Halbert
a250224c66
Merge pull request #920 from adafruit/jerryneedell-patch-3
return "false" for stub call
2018-06-10 09:14:37 -04:00
Nick Moore
f72dcc64e6 Fixes #918 (PulseIn.get_paused) ... 2018-06-10 22:37:15 +10:00
Nick Moore
b25cbd340b Merge commit '2129bbe160278f7cd2cece939f81900a41f8aa86' into circuitpython-nickzoic-716-pulseio-esp8266 2018-06-10 22:08:58 +10:00
Nick Moore
972b03850f Merge branch 'master' into circuitpython-nickzoic-716-pulseio-esp8266 2018-06-10 22:01:35 +10:00
jerryneedell
8150150a24
return "false" for stub call
See #918 for discussion
2018-06-10 07:11:44 -04:00
jerryneedell
2129bbe160
Update PulseIn.c 2018-06-10 07:08:56 -04:00
jerryneedell
5724fd795a
fix #918
Add stub for common_hal_pulseio_pulsein_get_paused  to make ESP8266 build compatible with PR #901
2018-06-10 05:59:20 -04:00
David Glaude
c903fc8e20
Update README.rst
Apparently there is a CircuitPython Guide for ItsyBitsy M0 too...
It just contain "kattni' in the name and I don't know if this is finished and similar to the other guide.
2018-06-09 12:46:17 +02:00
Dan Halbert
b2d98edb4e
Merge pull request #901 from tannewt/pulseio_too_fast
Prevent freezing USB during high frequency PulseIn.
2018-06-08 17:59:06 -04:00
Scott Shawcroft
8fb34a5846 Use bool not int. 2018-06-08 14:57:20 -07:00
Scott Shawcroft
4e4d795da5
Merge pull request #916 from dhalbert/pdmin_hack_fix
Check for PDMIn DMA getting stuck.
2018-06-08 14:03:53 -07:00
Scott Shawcroft
8195df1b55 Stub out get_paused in nrf builds. 2018-06-08 14:01:54 -07:00
Scott Shawcroft
66b79723b6 Add code size analysis tool and shrink samd.clock a smidge. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
769788d3c7 Turn off USB pin objects since they are always used for USB. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
383bf9a59e Wait for the DFLL to be stable. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
07a8899c72 Support M4 2018-06-08 12:56:32 -07:00
Scott Shawcroft
2fbab8067a Prevent freezing USB during high frequency PulseIn.
We now track the last time the background task ran and bail on the
PulseIn if it starves the background work. In practice, this
happens after the numbers from pulsein are no longer accurate.

This also adjusts interrupt priorities so most are the lowest level
except for the tick and USB interrupts.

Fixes #516 and #876
2018-06-08 12:56:32 -07:00
Dan Halbert
218930d18b Check for PDMIn DMA getting stuck. 2018-06-08 08:23:52 -04:00
hathach
418e28c7dc update nrf52840 bootloader hex and target 2018-06-08 16:10:49 +07:00
hathach
2b3436e87c add feather nrf52 uart rts, cts support 2018-06-08 15:59:38 +07:00
hathach
c10899d13f allow to flash feather52 and feather52840 with jlink
add crc bypass magic to bootloader settting
2018-06-08 15:11:17 +07:00
Nick Moore
6af1fbacc9 Work on pulseio.PulseOut for #716 ESP8266
Switch to ets_delay_us but the PWM is still way too slow to be useful.
2018-06-08 16:41:42 +10:00
Nick Moore
011edf2472 Clean up interrupt handling for pulseio.PulseIn implementation for #716 ESP8266 2018-06-08 15:31:16 +10:00
Nick Moore
c4cf1c5221 Initial pulseio.PulseOut implementation for #716 ESP8266 2018-06-08 15:28:05 +10:00
Nick Moore
7adc69baf9 Initial pulseio.PulseIn implmentation for #716 ESP8266 2018-06-08 15:27:59 +10:00
Dan Halbert
c01ce175bb
Merge pull request #914 from SConaway/patch-1
Update README.rst
2018-06-07 20:44:19 -04:00
Dan Halbert
0ecfd2923f
Merge pull request #913 from kattni/itsybitsy-name-fix
Itsybitsy name fixes
2018-06-07 18:12:51 -04:00
Steven Conaway
f36fa308e7
Update README.rst 2018-06-07 12:15:15 -07:00
Kattni Rembor
ba7e0e2f86 Add Adafruit to other M4 board name strings 2018-06-07 13:39:04 -04:00
Kattni Rembor
7b2875d54a Add Adafruit to board name string 2018-06-07 13:33:13 -04:00
Kattni Rembor
0ab2a60dcd Update ItsyBitsy board name to one word 2018-06-07 13:12:44 -04:00
hathach
c854e2dc17 Merge branch 'master' into usbboot 2018-06-07 13:51:21 +07:00
hathach
9bb4ded5fa Merge remote-tracking branch 'upstream/master' 2018-06-07 13:50:04 +07:00
Dan Halbert
44721cba3d
Merge pull request #910 from kattni/rotaryio-doc-fix
Fixed documentation formatting for RTD
2018-06-06 20:06:33 -04:00
Kattni Rembor
3a38172627 Fixed documentation formatting for RTD 2018-06-06 18:28:01 -04:00
Kattni
ca24cad60a
Merge pull request #902 from dhalbert/feather_m0x_crickit
Feather M0 Express build with frozen Crickit libraries
2018-06-06 14:41:13 -04:00
Dan Halbert
1079f94fc5
Merge pull request #905 from jepler/main-stack-usage
main: move code pertaining to boot.py out of line
2018-06-06 09:24:51 -04:00
Jeff Epler
654591e11f main: move code pertaining to boot.py out of line
.. this reduces stack usage in main() substantially, because
the 512 byte stack allocation will only exist during the new run_boot_py
function's duration.

Closes: #904
2018-06-06 08:01:17 -05:00
Scott Shawcroft
aa636841a2
Merge pull request #903 from jepler/stack-overflow-crash
main: Explicitly set the stack top based on _estack
2018-06-05 22:05:13 -07:00
Jeff Epler
a4e06bd998 main: Explicitly set the stack top based on _estack
.. setting it based on the ad-hoc stack pointer calculation of
mp_stack_ctrl_init() meant that the stack used above main() counts
against the 1KiB safety factor that the mp_stack_set_limit call tries
to establish.  It turns out, at least on M4, that over half of the
safety factor is used up by stack-above-main()!

In the case of the basics/gen_stack_overflow.py test,
which blows the stack on purpose, it turns out that gc would be called
while handling the "maximum recursion depth exceeded" error, and this
needed more stack than was left.

Closes: #900
2018-06-05 22:04:55 -05:00
Dan Halbert
36a7ebe88e add feather_m0_express_crickit to .travis.yml 2018-06-05 18:24:55 -04:00
Dan Halbert
9ba6990228 Feather M0 Express build with Crickit libraries 2018-06-05 18:21:47 -04:00
Dan Halbert
74ced174ce
Merge pull request #898 from dhalbert/feather_m4_d4
add PA14 as D4 to Feather M4 Express
2018-06-05 11:41:31 -04:00
Dan Halbert
7e7e33e460 add PA14 as D4 to Feather M4 Exprses 2018-06-05 08:15:34 -04:00
Scott Shawcroft
52cc3ed76a
Merge pull request #893 from notro/cpboard
tools: Add cpboard.py
2018-06-04 17:31:44 -07:00
Scott Shawcroft
0c7c0821fc
Merge pull request #891 from godlygeek/low_flash_errno_fixes
Human readable OSError messages for low flash devices
2018-06-04 17:22:57 -07:00
Dan Halbert
9a6a5ea2d9
Merge pull request #892 from tannewt/clock_w_crystal
Use the external crystal on SAMD21 again.
2018-06-02 18:43:23 -04:00
Kattni
47b60fd3fa
Merge pull request #896 from dhalbert/update_frozen_lis3dh
Update HID code and seesaw version
2018-06-02 18:09:52 -04:00
Dan Halbert
0ed946c5b8 Merge remote-tracking branch 'adafruit/master' into update_frozen_lis3dh 2018-06-02 17:44:56 -04:00
Dan Halbert
27eba65dc7 update HID, and update seesaw version 2018-06-02 17:43:08 -04:00
Kattni
41865887f7
Merge pull request #895 from dhalbert/update_frozen_lis3dh
Update frozen LIS3DH to 4.2.1 to save space
2018-06-02 17:37:41 -04:00
Dan Halbert
6e6bfc4d57 Update frozen LIS3DH to 4.2.1 to save space 2018-06-02 17:00:23 -04:00
Noralf Trønnes
d08cc2ab17 tests: Point pyboard.py to tools/cpboard.py
This makes it possible to run-tests on the board itself.
2018-06-02 19:09:54 +02:00
Noralf Trønnes
e37d5622fe tools: Add cpboard.py
This is a variant of pyboard.py aimed at Circuit Python boards.
It can emulate pyboard.py enough so it works with tests/run-tests.
2018-06-02 19:09:44 +02:00
Matt Wozniski
d0e6bb269f Use the system errno's on nrf 2018-06-02 12:55:07 -04:00
Scott Shawcroft
e580d22f4a Use the external crystal on SAMD21 again.
Also, re-enable calibration storage for CircuitPlayground Express.
Tested with a 500hz PWMOut on Metro M0 with Saleae:
 * with crystal 500hz
 * with usb 500hz +- 0.1hz
 * without either 487hz += 0.1hz

SAMD51 is skipped due to DFLL errata and the fact it defaults to a
factory calibrated 48mhz that works fine for USB.

Fixes #648
2018-06-01 18:01:42 -07:00
Matt Wozniski
22f4438787 Prune atmel-samd errno list
Remove errnos that are only raised by modules that aren't linked into
the atmel-samd port.
2018-06-01 19:04:14 -04:00
Matt Wozniski
e798b67ca2 Begin a custom list of errnos for atmel-samd
The uerrno module was written to allow boards to customize the list of
errnos they can raise.  Start by copying the default list.
2018-06-01 19:04:04 -04:00
Matt Wozniski
1c35dbfb5d Provide mp_errno_to_str even without uerrno
We can provide a basic version of mp_errno_to_str even if the uerrno
module won't be provided.  Rather than looking errno names up in the
uerrno module's globals dict, we'll just rely on a simple mapping in the
function itself.
2018-06-01 19:03:51 -04:00
Dan Halbert
de61bd0d05
Merge pull request #887 from tannewt/rotaryio
Add rotary encoder support.
2018-06-01 18:50:00 -04:00
Scott Shawcroft
717199018b Adapt for feedback and hack around pIRkey size constraint. 2018-06-01 15:08:52 -07:00
Dan Halbert
f386144428 redo state algorithm 2018-06-01 15:08:52 -07:00
Scott Shawcroft
9920f0a5de atmel-samd: Make ticks more atomic.
Always use current_tick when sub millisecond precision is required.
Otherwise getting the ms/us to correspond is tricky.
2018-06-01 15:08:52 -07:00
Scott Shawcroft
d0fb6e7a2f atmel-samd: Add rotary encoder support.
Fixes #283
2018-06-01 15:08:48 -07:00
Scott Shawcroft
fd71e56891 atmel-samd: Re-org helper peripheral files into their own subdirectory.
Ideally in the future they won't depend on ASF4 or MicroPython.
2018-06-01 15:07:31 -07:00
Dan Halbert
ae31c4ac18
Merge pull request #889 from tannewt/audioio_timers_in_use
Turn off timer on AudioOut deinit.
2018-06-01 18:03:29 -04:00
Dan Halbert
ea95eb730a
Merge pull request #890 from tannewt/brownout3
Support brownout to safe mode. Fixes #870
2018-06-01 18:02:13 -04:00
Scott Shawcroft
317bb6d2ce
Merge pull request #888 from notro/samd51_clock_rework
atmel-samd/samd51: Refactor clock setup + implement samd.clock
2018-06-01 14:10:24 -07:00
Scott Shawcroft
f38ce1060c Support brownout to safe mode. Fixes #870 2018-06-01 13:45:28 -07:00
Scott Shawcroft
bf1f0b3d11 Turn off timer on AudioOut deinit.
Thanks to @sommersoft for spotting the error.

Fixes #850
2018-06-01 13:32:45 -07:00
Noralf Trønnes
e158702a68 atmel-samd/samd51: Use crystal for RTC
This uses the crystal to clock the RTC on boards which have a crystal.

Disable clock generator 2 which was enabled in commit
8e2080411f ("atmel-samd: Add rtc module support").
samd51 differs from samd21 when it comes to the RTC clock. samd51 doesn't
have an explicit clock peripheral so no need for a clock generator.

The same commit didn't even setup XOSC32K correctly, it missed EN1K and XTALEN.

The RTC uses the 1k clock output, so enable it on the OSCULP32K even if it works without it.
2018-06-01 18:03:23 +02:00
Noralf Trønnes
ab7ddfddd5 atmel-samd/samd51: Refactor clock setup
Refactor the convoluted asf4 clock setup into something more readable.

enable_clock_generator() has 2 changes:
- Set 'Output enabled' to match the current clock setup
- Handle divisors above 511

Add an enable_clock_generator_sync() version which makes it possible to setup
clocks without waiting for syncing. The bootup would hang without this.

I have checked these registers:

 NVMCTRL->CTRLA = 0x00000004

 Peripheral clocks (only non-zero shown):
 PCHCTRL[1]=0x00000045
 PCHCTRL[10]=0x00000041

 Generator clocks (only non-zero shown):
 GENCTRL[0] = 0x00010907
 GENCTRL[1] = 0x00010906
-GENCTRL[2] = 0x00041104
+GENCTRL[2] = 0x00200904
 GENCTRL[4] = 0x00010907
 GENCTRL[5] = 0x00180906

 DFLL clock:
 OSCCTRL->DFLLCTRLA = 0x00000082
 OSCCTRL->DFLLCTRLB = 0x00000000
 OSCCTRL->DFLLVAL = 0x00008082
 OSCCTRL->DFLLMUL = 0x00000000

 DPLL clocks:
 OSCCTRL->Dpll[0].DPLLCTRLA=0x00000002
 OSCCTRL->Dpll[0].DPLLCTRLB=0x00000000
 OSCCTRL->Dpll[0].DPLLRATIO=0x0000003b
 OSCCTRL->Dpll[1].DPLLCTRLA=0x00000080
 OSCCTRL->Dpll[1].DPLLCTRLB=0x00000020
 OSCCTRL->Dpll[1].DPLLRATIO=0x00000000

 OSC32KCTRL clock:
 OSC32KCTRL->RTCCTRL = 0x00000000
 OSC32KCTRL->XOSC32K = 0x00002082
 OSC32KCTRL->CFDCTRL = 0x00000000
 OSC32KCTRL->EVCTRL = 0x00000000
 OSC32KCTRL->OSCULP32K = 0x00002300

Only gen2 changed which is due to samd51 having more bits in the simple
division register so DIVSEL wasn't necessary, and it didn't have OE set.
2018-06-01 18:02:35 +02:00
Noralf Trønnes
5c6aea9fd8 atmel-samd/samd51: Implement samd.clock
Fill out the dummy implementation.
2018-06-01 18:01:08 +02:00
Scott Shawcroft
6479cb0806
Merge pull request #868 from pewpew-game/gamepad-longlive
Make the gamepad singleton long-living and add it to root pointers
2018-05-30 17:19:12 -07:00
Radomir Dopieralski
d02899f822 Add gamepad_singleto to root pointers for the nrf port 2018-05-30 23:11:23 +02:00
Radomir Dopieralski
b219ce6d37 Add gamepad_singleton to root pointers 2018-05-30 23:11:22 +02:00
Radomir Dopieralski
c37b69e1a5 Make the gamepad singleton long-lived
So that it is not later moved.
2018-05-30 23:11:22 +02:00
Dan Halbert
1897ce478b restore I2C and UART. Don't do port.c resets and inits for modules that are not available. 2018-05-30 23:11:00 +02:00
Scott Shawcroft
09504159b8
Merge pull request #885 from dhalbert/feather_m4_reve
rev E feather M4 express; remove named AREF pins
2018-05-30 10:40:06 -07:00
Dan Halbert
eab8e43188 rev E feather M4 express; remove named AREF pins 2018-05-29 20:25:28 -04:00
Dan Halbert
754c36bb37
Merge pull request #867 from dhalbert/fix_pirkey_apa102
3.0 pirkey build including appropriate frozen modules
2018-05-24 22:07:14 -04:00
Dan Halbert
052a9ff378 update cpx lib 2018-05-24 21:40:49 -04:00
Dan Halbert
e1762f5bf1
Merge pull request #873 from dhalbert/travis-cpx-crickit-build
add cpx-crickit build to travis
2018-05-24 21:35:37 -04:00
Dan Halbert
a5e1174926 add cpx-crickit build to travis 2018-05-24 21:18:56 -04:00
Dan Halbert
ee896cdd41 restore I2C and UART. Don't do port.c resets and inits for modules that are not available. 2018-05-24 20:20:18 -04:00
Dan Halbert
7380e077ae
Merge pull request #871 from tannewt/remove_old_nvm_code
Remove asf3 nvm code.
2018-05-24 16:59:35 -04:00
Scott Shawcroft
42bf3a1306 Remove asf3 nvm code. 2018-05-24 13:14:40 -07:00
Dan Halbert
b9f36184f5 refine pirkey build 2018-05-24 13:28:03 -04:00
Dan Halbert
083f91363a pirkey APA102 defs were commented out in mpconfigboard.h 2018-05-23 18:21:07 -04:00
Dan Halbert
ff592ac791
Merge pull request #864 from pewpew-game/master
Multiple fixes in gamepad
2018-05-23 16:26:20 -04:00
Scott Shawcroft
8e6feecf11
Merge pull request #863 from dhalbert/3.0_doc_updates
RTD documentation updates
2018-05-23 12:57:34 -07:00
Radomir Dopieralski
42e36a883b Remove volatile from the gamepad struct 2018-05-23 21:49:20 +02:00
Radomir Dopieralski
f17a235b40 Raise an error if more than 8 buttons passed to gamepad 2018-05-23 21:41:56 +02:00
Radomir Dopieralski
240678e714 Avoid uninitialized gamepad on exception
Raise exceptions before the gamepad_singleton is created.
Also, use mp_raise for creating the exceptions.
2018-05-23 21:39:06 +02:00
Dan Halbert
65cfbda79b
Merge pull request #866 from tannewt/touchio3
Use merged in FreeTouch
2018-05-23 15:29:53 -04:00
Dan Halbert
2fd9e9a744
Merge pull request #865 from tannewt/fix_rtd_build
Fix ReadTheDocs build due to c2rst.
2018-05-23 15:15:21 -04:00
Dan Halbert
bbdca2f352 typos in builtins.rst 2018-05-23 15:07:32 -04:00
Dan Halbert
6a63ff096a ustruct -> struct in design_guide.rst 2018-05-23 15:05:38 -04:00
Scott Shawcroft
aa86a1457f Use merged in FreeTouch 2018-05-23 11:57:35 -07:00
Scott Shawcroft
27551cbb4d Fix ReadTheDocs build due to c2rst. 2018-05-23 11:53:00 -07:00
Dan Halbert
079c20e58e use shared-bindings struct doc; remove docs/library one 2018-05-23 14:24:02 -04:00
Dan Halbert
6af5fc2796
Merge pull request #861 from tannewt/touchio3
Turn on touchio for M0 boards.
2018-05-23 14:20:15 -04:00
Scott Shawcroft
641caaa6dd Gain space back in non-Express builds by using -finline-limit 2018-05-23 10:36:59 -07:00
Radomir Dopieralski
edf2935ab1 Make gamepad.get_pressed work when gamepad was created from frozen code
For some reason, when the GamePad is created from frozen code, the
get_pressed method would always return 0. This fixes it, and makes it
work properly no matter how the object was created.
2018-05-23 12:44:22 +02:00
Radomir Dopieralski
52d05bbc37 Cache pullup state in gamepad
Don't check the pin's pull direction on every tick, instead cache it
at the beginning. Also avoid a "can't get pull of output pin" error
when one of the pins passed is in output mode.
2018-05-23 11:26:16 +02:00
Dan Halbert
20a13fa9fb fix title underline 2018-05-22 21:21:19 -04:00
Dan Halbert
59615fc993 add caveat language re MicroPython libraries; other slight changes 2018-05-22 20:49:08 -04:00
Dan Halbert
e65cc07764 RTD documentation updates 2018-05-22 19:52:01 -04:00
Scott Shawcroft
e274a02ff0
Merge pull request #862 from tannewt/contributing_update
Update CONTRIBUTING.md to include new learn guides and Dan and
2018-05-22 16:34:23 -07:00
Scott Shawcroft
783ffe6824 Update CONTRIBUTING.md to include new learn guides and Dan and
Kattni's info.

Fixes #858
2018-05-22 14:32:27 -07:00
Scott Shawcroft
3607d3ba2c Correctly reset the PTC 2018-05-22 14:20:35 -07:00
Scott Shawcroft
31bcd1c45c Fixup gclk init 2018-05-22 13:56:12 -07:00
Scott Shawcroft
99123a8621 Turn on touchio for M0 boards. M4 will come later once its supported
by FreeTouch.

Fixes #670
2018-05-22 13:49:08 -07:00
Dan Halbert
22405d6bdb
Merge pull request #860 from dhalbert/3.0-cpx-crickit
turn off longint on cpx crickit; update frozen libs
2018-05-22 16:28:42 -04:00
Scott Shawcroft
165b28438a
Merge pull request #854 from python-ugame/extra-override
Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
2018-05-22 10:22:35 -07:00
Dan Halbert
0d7db29630 turn off longint on cpx crickit; update frozen libs 2018-05-22 13:03:13 -04:00
Scott Shawcroft
422525fa4c
Merge pull request #859 from dhalbert/3.0-cpx-crickit
refactor longint settings; make crickit cpx build
2018-05-22 09:59:21 -07:00
Dan Halbert
49a81d5c4b LONGLONG typo 2018-05-22 09:35:29 -04:00
Dan Halbert
45db48bbaa make longint choice mechanism more readable 2018-05-22 08:04:14 -04:00
Dan Halbert
5680933483 refactor longint settings; make crickit cpx build 2018-05-21 23:58:03 -04:00
Radomir Dopieralski
6a6ab2b0ec Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
Some boards (like the uGame10) may want to have their own set of extra
modules. This change lets them override EXTRA_BUILTIN_MODULES in their
mpconfigboard.h and makes the ugame10 board do that.
2018-05-21 09:23:58 +02:00
Scott Shawcroft
be12e07d74
Merge pull request #846 from notro/epoch1970
time: Use 1970 epoch
2018-05-19 12:30:34 -05:00
Scott Shawcroft
14ca3dc42f
Merge pull request #852 from adafruit/jerryneedell-patch-1
fix doc error  in audioOut.c
2018-05-19 12:28:33 -05:00
Scott Shawcroft
ebeb32307d
Merge pull request #848 from dhalbert/3.0-boot_output_file
3.0: wasn't always clearing boot_output_file
2018-05-19 12:13:10 -05:00
jerryneedell
1d9bcc5ddf
fix doc error in audioOut.c
fixes #851
2018-05-19 10:41:36 -04:00
Dan Halbert
990da6d363 wasn't always clearing boot_output_file 2018-05-19 01:01:37 -04:00
Noralf Trønnes
95e70cd0ea time: Use 1970 epoch
Use UNIX epoch to match CPython.
This overflows small int so time.{time,localtime,mktime} is only supported with long int.
Also remove some comment cruft in time_time().
2018-05-18 12:35:33 +02:00
Noralf Trønnes
cf33ad9a54 atmel-samd/samd21: Enable long int on Express boards
This is necessary for using 1970 epoch in the time module.
2018-05-18 12:35:26 +02:00
Scott Shawcroft
1eb412b44d
Merge pull request #845 from matt-land/feature-default-serial
Feature: default UART (serial)
2018-05-17 13:59:15 -05:00
Matt Land
06b293af29 pirkey, trinket, ugame 2018-05-17 13:56:10 -04:00
Matt Land
a84845c0ae itsbitsy, metro 2018-05-17 13:48:33 -04:00
Matt Land
173a0a5faa arduino, circuitplayground, feather boards 2018-05-17 13:42:08 -04:00
Matt Land
fc2b4526d3 worked 2018-05-17 13:33:26 -04:00
Matt Land
e1cccd3dac rename to UART 2018-05-17 13:21:15 -04:00
Matt Land
2210fc60b1 Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-default-serial 2018-05-17 13:08:43 -04:00
Scott Shawcroft
8581ee3f0e
Merge pull request #844 from matt-land/feature-default-spi-circuit-playground
Feature: 'default' SPI support for atmel-samd boards
2018-05-17 12:07:38 -05:00
Matt Land
c846f4bdae remove newline 2018-05-17 12:17:06 -04:00
Matt Land
75cb1d1746 Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-default-spi-circuit-playground 2018-05-17 12:15:15 -04:00
Matt Land
4fd4adf974 not working 2018-05-17 12:14:51 -04:00
Scott Shawcroft
91db71ed45
Merge pull request #841 from matt-land/feature-i2c-gemma
Feature: shortcut I2C support for atmel-samd boards
2018-05-17 11:13:48 -05:00
hathach
6d4a2f5524 Merge branch 'master' into usbboot 2018-05-17 15:23:45 +07:00
hathach
52ebfd07a5 update nrfutil to 0.5.2d with singlebank option 2018-05-17 15:20:07 +07:00
Matt Land
30c625ff46 Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground 2018-05-16 17:58:03 -04:00
Matt Land
0511becd55 Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-i2c-gemma 2018-05-16 17:55:43 -04:00
Scott Shawcroft
6a8db03ade
Merge pull request #838 from rhooper/master
add supervisor.reload() to soft reboot from code
2018-05-16 17:52:16 -04:00
Matt Land
b9b742cc69 add spi def to all boards pins file 2018-05-16 17:43:14 -04:00
Matt Land
c2fa892a02 fix formatting 2018-05-16 17:38:44 -04:00
Matt Land
cc52f8efd9 Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground 2018-05-16 17:32:50 -04:00
Scott Shawcroft
918d30cb97
Rephrase the doc 2018-05-16 16:28:43 -05:00
Matt Land
0a185c4d2d Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-i2c-gemma 2018-05-16 17:07:58 -04:00
Matt Land
e8e75c056a For the two boards without SCL and SDA can you still add the board global entry for I2C? That way they'll raise the NotImplementedError with the better message instead of a NameError. 2018-05-16 17:02:41 -04:00
Scott Shawcroft
07c0a3227d
Merge pull request #843 from jerryneedell/jerryn_errno
fix ESP8266 build - clear MICROPY_USE_INTERNAL_ERRNO
2018-05-16 16:55:35 -04:00
Jerry Needell
4f93467841 set #define MICROPY_USE_INTERNAL_ERRNO (0) in mpconfigport for ESP8266 to fix compile error 2018-05-16 16:10:32 -04:00
Matt Land
de885e81b1 Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground 2018-05-16 16:07:55 -04:00
Matt Land
8a351595ef formatting, trailing newlines 2018-05-16 15:57:25 -04:00
Matt Land
2c067edf54 used pins.c instead of README.rst 2018-05-16 15:54:01 -04:00
Matt Land
3144654854 SPI for all boards 2018-05-16 15:36:36 -04:00
Matt Land
244866c2c3 spi on much 2018-05-16 15:25:24 -04:00
Matt Land
10888be8e8 fixed pins 2018-05-16 15:07:12 -04:00
Matt Land
8d1d821876 pin issue 2018-05-16 14:58:57 -04:00
Scott Shawcroft
99e34e38eb
Merge pull request #829 from jerryneedell/jerryn_i2c
add keyword timeout to I2C -- only used for bitbangioi
2018-05-16 14:52:11 -04:00
Scott Shawcroft
9a2cda7fd3
Reformat the error message 2018-05-16 13:19:51 -05:00
Kevin Townsend
78f806c891 Added board specific READMEs 2018-05-15 22:42:27 +02:00
Matt Land
fbb57f902d better error message 2018-05-15 15:37:48 -04:00
Matt Land
ff6e6b5155 best effort 2018-05-15 15:33:27 -04:00
Matt Land
4e65752d6e feather m0 boards 2018-05-15 15:28:23 -04:00
Roy Hooper
90a09dba59 Merge branch 'master' of github.com:adafruit/circuitpython 2018-05-15 14:54:54 -04:00
Roy Hooper
9f2026158b add ugly workaround for apt failing - retry 2018-05-15 14:54:12 -04:00
Matt Land
cdeb7ddff8 fix non- builds 2018-05-15 14:27:05 -04:00
Matt Land
cd1f6627e4 formatting 2018-05-15 14:09:00 -04:00
Matt Land
bd7f603748 zero + feather logger 2018-05-15 14:06:01 -04:00
Roy Hooper
7d443c87b3 Add gemma_m0 pin exclusions 2018-05-15 14:03:39 -04:00
Matt Land
a10f04ad6e support for 2 2018-05-15 13:53:53 -04:00
Matt Land
b0bacd9b0b review code 2018-05-15 13:15:24 -04:00
Roy Hooper
3fd9900ea7 disable pins on trinket_m0 so that we can free a fair bit of flash - Issue #840 2018-05-15 13:13:59 -04:00
Dan Halbert
54293397c5
Merge pull request #837 from godlygeek/human_readable_oserror
Human readable OSError messages
2018-05-15 10:12:09 -04:00
hathach
53593d1315 fix #809
define CIRCUITPY_BOOT_OUTPUT_FILE will cause mp_hal_stdout_tx_strn() to
invoke before serial_init() is called. Solution is skipped output to
serial if it is not inited.
2018-05-15 18:40:49 +07:00
hathach
05f36ebeb1 update the bootloader hex for feather52840 2018-05-15 16:06:03 +07:00
hathach
dadf831fe9 Merge branch 'usbboot' of github.com:microbuilder/circuitpython into usbboot 2018-05-15 13:33:53 +07:00
hathach
5365e51e39 Merge branch 'master' into usbboot 2018-05-15 13:29:25 +07:00
hathach
3d8bb96f75 update gitignore 2018-05-15 13:23:32 +07:00
Matt Wozniski
086bffb594 Update errno tests to match new expected behavior
Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
2018-05-14 23:16:18 -04:00
Roy Hooper
06b6a10a5e switch autoreload to reloadexception 2018-05-14 17:44:50 -04:00
Roy Hooper
92b1cb5743 move reload exception to reload.c 2018-05-14 17:41:17 -04:00
Roy Hooper
698912633f Rename reload_next_character to reload_requested to make it match it's intended use 2018-05-14 17:00:38 -04:00
Roy Hooper
567f3e30a7 Initial implementation of supervisor.reload() 2018-05-14 16:57:50 -04:00
Dan Halbert
d655e2194c
Merge pull request #833 from rhooper/master
Fix for Issue #770 - Provide a better error message when timers are s…
2018-05-14 16:36:43 -04:00
Scott Shawcroft
321f882b6c
Merge pull request #834 from khawley/docs-makefile-fixes
Cleaning up and fixing the docs generation Makefile and README instructions
2018-05-14 16:09:39 -04:00
Kattni
10054b2b02
Merge pull request #831 from wickedchicken/wickedchicken-patch-1
Add all boards with links to specific guides
2018-05-14 15:53:30 -04:00
Dan Halbert
1fde63b23e
Merge pull request #836 from bildzeitung/dmklein_uclxn
Renames ucollections -> collections
2018-05-14 15:46:50 -04:00
Kattni
27f2421e45
Merge pull request #832 from wickedchicken/wickedchicken-patch-2
Add links to CircuitPython guides and example code
2018-05-14 15:41:03 -04:00
Matt Wozniski
5833cbe6de Display human readable strings for common OSErrors
Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
2018-05-14 15:12:40 -04:00
Matt Wozniski
0518cc1d94 Include uerrno for boards with external SPI flash
Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
2018-05-14 15:12:35 -04:00
bildzeitung
bf26ffbf56 Updated tests; removed try/catch for ucollections 2018-05-14 14:43:34 -04:00
bildzeitung
a8cc4a1a62 Updated library source: ucollections -> collections 2018-05-14 14:33:50 -04:00
bildzeitung
2ff7148d09 Update docs s/ucollections/collections/g 2018-05-14 14:31:56 -04:00
Mike Stipicevic
c43a75b115 Add links to CircuitPython guides and example code 2018-05-14 18:05:59 +00:00
Karin Hawley
f9ae1ee172 Cleaning up and fixing the docs generation Makefile and README instructions
- moving Makefile to parent folder.  This resolves some of the weird path/build issues
- remove trace references to cpydiff and original file (no longer used anywhere)
- converting SOURCEDIR to a changeable variable, passed through all sphinx-build calls
- adding path to conf.py, in case it moves again
- making `-v` default with VERBOSE
- making `-E` default with FORCE
- creating BASEOPTS to store all the dirs, paths, and settings, passing them to sphinx-build in one long chain, instead of individually
- updating README to use the make command as default.  Also added text explaining some of the customization you can add into a make command
2018-05-14 11:02:25 -07:00
Roy Hooper
a0954b9e11 Fix for Issue #770 - Provide a better error message when timers are still available. 2018-05-14 13:52:32 -04:00
Mike Stipicevic
f004da1b37 Add all boards with links to specific guides 2018-05-14 17:36:12 +00:00
Scott Shawcroft
ad82a2d08d
Merge pull request #830 from rhooper/master
Make python detection more robust
2018-05-14 09:14:36 -07:00
Roy Hooper
1661cbb6e1 Make python detection more robust and allow setting PYTHON2 and PYTHON3 to override python executables during build. 2018-05-14 11:19:19 -04:00
Jerry Needell
d9f1b1f5b7 remove #include py/nlr.h from I2C.c 2018-05-13 22:32:32 -04:00
Jerry Needell
aa9309704b revise to use mp_raise_msg insead of nlr_raise.... 2018-05-13 22:21:05 -04:00
Jerry Needell
d6c26942a5 add timeout keyword to I2C - for bitbangio - ignored for busio 2018-05-13 21:54:44 -04:00
Scott Shawcroft
ce5eae1c76
Merge pull request #761 from jepler/nrf-modules
nrf: Enable binascii, hashlib modules
2018-05-11 19:40:45 -07:00
Jeff Epler
471fdae993 nrf: Enable binascii, hashlib modules
These modules would be very handy to have in order to implement a
more robust replacement for ampy.  It costs around 2KiB of text and
no data or bss.

'binascii' has base64 encoding, which can be used to create a fully
8-bit-clean transport above the slightly cooked serial connection of
these boards.

'hashlib' is a bit less critical, but I have found it handy to
be able to robustly checksum remote files.

I see this as only being useful on ports which don't have USB block
device support, so atmel-samd doesn't need it.  These modules are
already on esp8266 so I think nrf52 seems like the only one that
needs it.
2018-05-11 07:41:09 -05:00
Scott Shawcroft
51106db93d
Merge pull request #827 from dhalbert/3.0_pb_pins_digitalinout
PBxx pins were not setting DRVSTR or reporting PULL properly
2018-05-10 20:42:26 -07:00
Dan Halbert
240659da0e PBxx pins were not setting DRVSTR or reporting PULL properly 2018-05-10 23:09:51 -04:00
Scott Shawcroft
80acef52a6
Merge pull request #826 from jepler/nrf-framebuf
nrf52: enable framebuf module
2018-05-10 20:06:07 -07:00
2acd5d88b6 nrf52: enable framebuf module
Closes: #656
2018-05-10 18:37:08 -05:00
Scott Shawcroft
e4ec672464
Merge pull request #821 from deanm1278/master
add kwargs to bitbangio spi
2018-05-09 13:17:07 -07:00
dean
82b5efa7bc remove unnecessary comment 2018-05-09 15:14:26 -04:00
dean
fba1e221c6 DM: add kwargs to bitbangio spi 2018-05-09 15:12:42 -04:00
Dan Halbert
734596c90a
Merge pull request #820 from tannewt/pause_audio
Add pause/resume control to AudioOut and I2SOut
2018-05-08 16:16:20 -04:00
Scott Shawcroft
fc7c25af6d Make resume idempotent (allowing you to call it twice without complaining.) 2018-05-08 13:00:05 -07:00
Scott Shawcroft
24116eff23 Tweak exception message. 2018-05-08 12:44:27 -07:00
Scott Shawcroft
50fc90bc5f Add pause/resume control to AudioOut and I2SOut
Fixes #808
2018-05-08 11:53:13 -07:00
Scott Shawcroft
d3a5d40374
Merge pull request #785 from notro/rtc_calibration
atmel-samd/samd21: Rework clock setup + calibration
2018-05-08 10:55:51 -07:00
Scott Shawcroft
64bd95ea01
Merge pull request #819 from dhalbert/cache
enable cache in SAMD51
2018-05-08 10:40:30 -07:00
Scott Shawcroft
b46cc9d29a
Merge pull request #817 from jepler/uzlib-as-submodule
uzlib: convert to submodule
2018-05-08 10:34:51 -07:00
Dan Halbert
e82f37c60e enable cache in SAMD51 2018-05-07 21:55:37 -04:00
a6072f7ae3 uzlib: convert to submodule
Textualy, the files in lib/uzlib/src were identical to the ones committed
in extmod/uzlib so there should be no behavioral change possible as a
result of this commit.
2018-05-07 20:03:30 -05:00
Noralf Trønnes
5d5d14709f Add clock representation with calibration
Add a python representation of the clocks with the possibility to change
the calbration of clock sources.
2018-05-07 23:04:02 +02:00
Scott Shawcroft
b0fba2864c
Merge pull request #814 from larsks/feature/utime-compile-only
esp8266/modutime.c: remove symbol conflicts between time and utime modules
2018-05-07 13:53:05 -07:00
Lars Kellogg-Stedman
56bf411d21 esp8266/modutime.c: remove symbol conflicts between time and utime modules
this renames symbols in modutime.c so that it no longer conflicts with
the time module.  This commit does not enable the utime module; it
simply makes it easier for a local developer to do so.
2018-05-07 11:55:20 -04:00
Dan Halbert
bca5aec5f4
Merge pull request #813 from jerryneedell/patch-2
Update mpconfigport.h
2018-05-07 10:19:39 -04:00
jerryneedell
b617271191
Update mpconfigport.h
comment out define of CIRCUITPYTHON_BOOT_OUTPUT_FILE  for NRF52  --  it does not work properly
2018-05-07 08:59:24 -04:00
Scott Shawcroft
d42c83ff41
Merge pull request #806 from jepler/hashlib-py3
Rename uhashlib->hashlib, improve python3 compatibility
2018-05-06 22:36:52 -07:00
Scott Shawcroft
c4cfd1170e
Merge pull request #811 from dhalbert/3.0_filesystem_writability_on_boot
3.0: boot.py change of filesystem writability would get overridden.
2018-05-06 22:27:54 -07:00
Dan Halbert
224e245e05 clarify comment 2018-05-07 00:08:26 -04:00
Dan Halbert
fc214fb320 boot.py change of filesystem writability would get overridden. 2018-05-06 23:48:11 -04:00
2955ada22f docs: fix references to uhashlib 2018-05-06 12:31:54 -05:00
11a97bdffe uhashlib: masquerade as hashlib for python3 compatibility 2018-05-06 12:31:54 -05:00
005226ae54 uhashlib: some functions should refuse unicode for python3 compatibility
.. this maybe should be subject to MICROPY_CPYTHON_COMPAT, except that
is not defined in the main circuitpython ports so it would be a change
that makes no difference.
2018-05-06 12:31:54 -05:00
b2084d37d6 tests: add new tests for uhashlib differences
.. these tests currently fail, but a subsequent commit will
fix them
2018-05-06 12:31:53 -05:00
Noralf Trønnes
2893e795fc atmel-samd/samd21: Use XOSC32K on boards with a crystal
Use XOSC32K on boards that have BOARD_HAS_CRYSTAL defined and set to 1.
2018-05-05 18:45:15 +02:00
Noralf Trønnes
4adba51569 atmel-samd/samd21: Rework clock setup
Make clock setup explicit instead of using the convoluted asf4 macro setup.

enable_clock_generator():
- Add GCLK_GENCTRL_OE to stick with the current setup.
- Handle divisor larger than 31 for generator 2
- Change the source argument so it can take the GCLK_GENCTRL_SRC_XXXX_Val
  macros without casting to uint8_t.

This patch should not introduce any functional changes except keeping
GCLK_GENCTRL_OE enabled when the I2S clock is enabled.
2018-05-05 18:01:13 +02:00
Scott Shawcroft
d32349cee8
Merge pull request #804 from dhalbert/boot_out_fixes
3.0: Handle bad power on reset.
2018-05-04 10:06:35 -07:00
Scott Shawcroft
034b189c75
Merge pull request #805 from dhalbert/3.0_cpx_freeze_hid_cpx
3.0: add CircuitPlayground and HID to CPX frozen modules
2018-05-04 09:59:16 -07:00
Dan Halbert
32363b801b 3.0: add CircuitPlayground and HID to CPX frozen modules 2018-05-04 08:44:33 -04:00
Dan Halbert
f73e06d910 minor function API improvement 2018-05-04 08:28:05 -04:00
Noralf Trønnes
f21c2494cb atmel-samd/samd21: Enable OSC32K
Enable OSC32K which is used by the RTC.
For some reason the RTC worked without enabling it.
2018-05-04 13:34:30 +02:00
Noralf Trønnes
4a2a553647 atmel-samd/clocks: Split out samd21_clocks.c and samd51_clocks.c
Enhance readability by separating the samd21 and samd51 clock code.

This patch should not introduce any functional changes.
2018-05-04 13:32:56 +02:00
Dan Halbert
f486ead84a Handle bad power on reset. 2018-05-03 23:43:02 -04:00
Scott Shawcroft
a8bd37f14d
Merge pull request #799 from larsks/feature/circuitpython/station-ssid
esp8266/modnetwork: Allow to get ESSID of AP that STA is connected to.
2018-05-03 10:12:50 -07:00
Scott Shawcroft
2fe552694b
Merge pull request #796 from larsks/bug/795
try both binascii and ubinascii in inisetup.py
2018-05-03 10:04:37 -07:00
Scott Shawcroft
37bf61f6ac
Merge pull request #797 from jepler/binascii-doc
docs: fix references to ubinascii
2018-05-03 10:02:37 -07:00
Lars Kellogg-Stedman
1e0353e2db esp8266/modnetwork: Allow to get ESSID of AP that STA is connected to.
This patch enables iface.config('essid') to work for both AP and STA
interfaces.

(cherry picked from commit d8fdb77ac9)
2018-05-03 11:49:37 -04:00
647ff387d9 docs: fix references to ubinascii 2018-05-03 09:34:43 -05:00
Lars Kellogg-Stedman
ad1b16a3ec ports/esp8266: try both binascii and ubinascii in inisetup.py
in recent circuitpython builds, `ubinascii` is available as
`binascii`.  This modifies `modules/inisetup.py` to use the same
import semantics as `modules/websocket_helper.py`: first try importing
`ubinascii`, and if that fails, fall back to importing `binascii`.

Closes adafruit/circuitpython#795
2018-05-03 09:23:54 -04:00
Dan Halbert
9d484c4935
Merge pull request #789 from tannewt/pdmin3
Re-enable PDMIn without ASF
2018-05-02 19:59:20 -04:00
Scott Shawcroft
04f75b8903 Reduce the buffer size back to what 2.x has. Increase was leftover
from debugging.
2018-05-02 15:21:43 -07:00
Scott Shawcroft
22b7cd3d51 Fix 8 bit recordings on CPX.
The DMA trigger source was incorrect when using serializer 1 on
the SAMD21.

Playback register was incorrect for 8 bit as well. Now fixed.
2018-05-02 15:15:25 -07:00
Scott Shawcroft
449385b250
Merge pull request #790 from dhalbert/cpu_temp
Implement microcontroller.cpu.temperature.
2018-05-02 12:23:03 -07:00
Dan Halbert
33b9c39f58 peripherals.c should include peripherals.h 2018-05-02 13:50:34 -04:00
Scott Shawcroft
3d36f63f9e
Merge pull request #788 from jepler/binascii-py3
(u)binascii: better python3 compatibility
2018-05-02 10:15:31 -07:00
Scott Shawcroft
41101bc2c6
Merge pull request #794 from larsks/bug/793
allow esptool.py invocation to be set via make vars
2018-05-02 10:02:32 -07:00
Scott Shawcroft
61d3dd85ec
Merge pull request #792 from larsks/bug/791
correct path to conf.py in makeversionhdr.py
2018-05-02 09:57:05 -07:00
Lars Kellogg-Stedman
3e35cbcd5b allow esptool.py invocation to be set via make vars
This commit replaces the literal calls to `esptool.py` with the
`$(ESPTOOL)` Makefile variable. This allows one to set the esptool
invocation on the Make command line:

    make ESPTOOL="python2 $(which esptool.py)"

(or via the environment, an include file, etc)

Closes #793
2018-05-02 09:47:01 -04:00
Lars Kellogg-Stedman
4e977aafe4 correct path to conf.py in makeversionhdr.py
the py/makeversionhdr.py script was looking for `conf.py` in the
`docs/` directory, but this was relocated in 46e7f8e.  This is used by
the fallback `get_version_info_from_docs_conf` method, which is only
consulted if `git` is unavailable in the build environment.

Closes #791.
2018-05-02 08:50:17 -04:00
Dan Halbert
e565282da9 fix minor comment typos 2018-05-01 22:04:11 -04:00
Dan Halbert
3a2b4af830 Implement microcontroller.cpu.temperature on '21 and '51. 2018-05-01 21:35:55 -04:00
Noralf Trønnes
681399f8db atmel-samd: RTC: Improve precision when setting datetime
The prescaler is not reset when setting the counter so we can be off by
as much as 1023/1024 seconds. Fix this by resetting the RTC module.
2018-05-01 21:35:24 -04:00
c2f0c57a26 ubinascii: masquerade as binascii for python3 compatibility 2018-05-01 17:10:53 -05:00
Scott Shawcroft
cfea51ec68 Re-enable PDMIn without ASF and using the helpers added with
I2SOut.

The API is almost the same except the frequency attribute has been
renamed to sample_rate so that its less likely to be confused with
frequencies within the audio itself.

Fixes #263.
2018-05-01 14:35:43 -07:00
0f869bbbf1 ubinascii: some functions should refuse unicode for python3 compatibility
.. this maybe should be subject to MICROPY_CPYTHON_COMPAT, except that
is not defined in the main circuitpython ports so it would be a change
that makes no difference.
2018-04-30 20:06:29 -05:00
e7f463320f tests: Add new tests for ubinascii differences
.. some of these tests currently fail, but a subsequent commit will
fix them.
2018-04-30 20:06:29 -05:00
Scott Shawcroft
dd0f8689a1
Merge pull request #786 from notro/rtc_set_datetime_precision
atmel-samd: RTC: Improve precision when setting datetime
2018-04-29 20:30:37 -07:00
Scott Shawcroft
6855541e33
Merge pull request #780 from sommersoft/esp8266_gpio16
Fix GPIO16 Board Reset; Updated Usage
2018-04-29 20:09:52 -07:00
Noralf Trønnes
62d7a800d7 atmel-samd: RTC: Improve precision when setting datetime
The prescaler is not reset when setting the counter so we can be off by
as much as 1023/1024 seconds. Fix this by resetting the RTC module.
2018-04-29 20:43:07 +02:00
sommersoft
396e4ffc34 implemented 'claim_pin' methodology; updated 'open_drain' handling 2018-04-28 17:27:23 +00:00
sommersoft
4e1f7d43eb added exception for PULL_UP; corrected open_drain handling 2018-04-27 02:51:07 +00:00
sommersoft
441ce2a78f reset GPIO16 to input on deinit 2018-04-26 01:35:58 +00:00
Scott Shawcroft
83e390714f
Merge pull request #779 from tannewt/replace_logos
Replace MicroPython logos with CircuitPython logos
2018-04-25 18:04:00 -07:00
Scott Shawcroft
3d6a6b81a0 Replace MicroPython logos with CircuitPython logos
Fixes #306
2018-04-25 15:41:18 -07:00
sommersoft
bd5a5daaae updated GPIO16 construct and handling 2018-04-25 03:59:36 +00:00
sommersoft
e70ece4c41 now checks for proper pin in is_pin_free; initialize GPIO16 as input in reset_pins 2018-04-25 03:57:09 +00:00
Dan Halbert
8cadcc8e83
Merge pull request #776 from dhalbert/hid_gamepad
HID gamepad support
2018-04-24 14:27:04 -04:00
Dan Halbert
48f595ee13 convert wrapper class to just a module 2018-04-24 13:28:26 -04:00
Dan Halbert
9daa1a68d8 HID gamepad support 2018-04-23 23:51:23 -04:00
Kevin Townsend
d0e00d7fbe
Added built to example 2018-04-23 20:01:53 +02:00
Kevin Townsend
0de8697315
Added note on USB CDC bootloader 2018-04-23 19:58:29 +02:00
hathach
ce9f05f91b add missing files 2018-04-24 00:51:44 +07:00
hathach
50e7a4caa8 add bootloader hex 2018-04-24 00:19:04 +07:00
Scott Shawcroft
58ba74194e
Merge pull request #765 from jerryneedell/jerryn_tick
modify tick_delay to handle SysTick->VAL rollover
2018-04-20 15:40:00 -04:00
Jerry Needell
bef05ffbf1 cleanup in tick.c 2018-04-20 15:23:03 -04:00
Jerry Needell
fe738598da modify tick.c to simplify - remove interupt disable from common_hal_pulseio_pulsein_resume 2018-04-20 11:59:33 -04:00
Dan Halbert
77092f2380
Merge pull request #772 from tannewt/rtc51
atmel-samd: Fix M4 RTC and ItsyBitsy M4 definition
2018-04-19 23:08:20 -04:00
Jerry Needell
16bb40b110 modify tic.c to chec if interrupts are enabled, rename us_between_ticks to us until_next_tick 2018-04-19 22:25:48 -04:00
Jerry Needell
3399d541c3 Merge remote-tracking branch 'origin/master' into jerryn_tick 2018-04-19 20:54:47 -04:00
Dan Halbert
321fa206c9
Merge pull request #773 from tannewt/remove_revb_build
Remove Rev B Metro M4 from Travis build.
2018-04-19 15:42:48 -04:00
Scott Shawcroft
8193a6eb18 Remove Rev B Metro M4 from Travis build.
Testers should have production boards on the way.
2018-04-19 15:19:14 -04:00
Scott Shawcroft
898a7d92e3 atmel-samd: Fix M4 RTC and ItsyBitsy M4 definition 2018-04-19 14:42:03 -04:00
Scott Shawcroft
59be777764
Merge pull request #768 from sommersoft/rtc_fix
RTC Fix: Revert To Using Internal Oscillator
2018-04-18 07:49:19 -07:00
sommersoft
a0eb51cc97 updated asf4_config: reverted oscillators to use internal vs external for RTC 2018-04-18 03:35:58 +00:00
Jerry Needell
e09d95067c update tick.c (fix LOAD value) update PulseIn.c (do not enable interrupts for trigger_duration > 1000 2018-04-17 21:46:15 -04:00
Scott Shawcroft
7f7cbe8efa
Merge pull request #760 from ladyada/master
don't use python nrfutil on windows, go with exe we have in repo
2018-04-16 15:27:44 -07:00
Scott Shawcroft
81d395d825
Merge pull request #745 from notro/time_rtc
RFC: Add rtc module
2018-04-16 15:26:54 -07:00
Dan Halbert
eba10eab49
Merge pull request #764 from tannewt/nvm3
Turn on nvm in 3.0.
2018-04-16 18:11:56 -04:00
Scott Shawcroft
301479cd44
Remove "Get or set" 2018-04-16 15:00:58 -07:00
Scott Shawcroft
84d4be279e
Add a table of contents reference to RTC 2018-04-16 15:00:01 -07:00
Jerry Needell
e55e06d501 modify tick.c to work when interrupts disabled - modify PulseIn.c to cast argument to common_hal_delay_us 2018-04-16 08:11:14 -04:00
Noralf Trønnes
8e2080411f atmel-samd: Add rtc module support
Support the rtc module by using hal_calendar.
2018-04-16 13:15:08 +02:00
Noralf Trønnes
8d1719f190 Add rtc module
Add an rtc module that provides a singleton RTC class with
- a datetime property to set and get time if the board supports it.
- a calbration property to adjust the clock.

There's also an rtc.set_time_source() method to override this RTC object using pure python.

The time module gets 3 methods:
- time.time()
- time.localtime()
- time.mktime()

The rtc timesource is used to provide time to the time module.

lib/timeutils is used for time conversions and thus only supports dates after 2000.
2018-04-16 12:49:10 +02:00
Scott Shawcroft
5af4e79ed3 Correct example. Thanks @jepler! 2018-04-13 16:43:21 -07:00
Scott Shawcroft
812fe0c93f Turn on nvm in 3.0.
Its 256b on M0 and 8k on M4 to match flash erase sizes.

Fixes #758
2018-04-13 16:22:28 -07:00
Dan Halbert
10eabf6bc2
Merge pull request #756 from tannewt/audio3
Add audio output support!
2018-04-13 14:59:10 -04:00
ladyada
926849d7a8 don't use python nrfutil on windows, it doesnt work :/ tested feather52 makefile on windows/mingw 2018-04-13 14:00:20 -04:00
Scott Shawcroft
22194d5977 Tweaks based on dhalbert's feedback. 2018-04-13 10:51:01 -07:00
Scott Shawcroft
0f4a2032b7
Merge pull request #759 from ladyada/master
quoting paths
2018-04-13 09:32:51 -07:00
ladyada
1418445b5e fix for spaces in path 2018-04-12 23:12:36 -04:00
ladyada
ce6b94f5e2 deal with spaces in directories 2018-04-12 21:43:23 -04:00
Scott Shawcroft
8dcfeb6240 Fix Makefile 2018-04-12 18:17:46 -07:00
Scott Shawcroft
28642ab10d Add audio output support!
This evolves the API from 2.x (and breaks it). Playback devices are now
separate from the samples themselves. This allows for greater playback
flexibility. Two sample sources are audioio.RawSample and audioio.WaveFile.
They can both be mono or stereo. They can be output to audioio.AudioOut or
audiobusio.I2SOut.

Internally, the dma tracking has changed from a TC counting block transfers
to an interrupt generated by the block event sent to the EVSYS. This reduces
the overhead of each DMA transfer so multiple can occure without using up TCs.

Fixes #652. Fixes #522. Huge progress on #263
2018-04-12 16:35:13 -07:00
Scott Shawcroft
12f1aa25fd
Merge pull request #757 from tannewt/status_pixel_fix
Fix the status neopixel flashing.
2018-04-12 16:33:48 -07:00
Scott Shawcroft
5f9b3f2b87 Fix the status neopixel flashing.
We were storing the wrong current color.
2018-04-12 13:33:58 -07:00
Dan Halbert
e311d17905
Merge pull request #755 from tannewt/itsy_m4
Add initial ItsyBitsy M4 support
2018-04-12 14:42:05 -04:00
Scott Shawcroft
2a26dac2bc Add initial ItsyBitsy M4 support 2018-04-12 11:16:52 -07:00
Scott Shawcroft
f02cbeabab
Merge pull request #747 from dhalbert/reformat
add storage.erase_filesystem() to erase and reformat CIRCUITPY
2018-04-10 10:26:07 -07:00
Dan Halbert
eaa9923a8f force_create rename got lost due to editing error 2018-04-10 12:24:27 -04:00
Dan Halbert
1b12c42477 Merge remote-tracking branch 'adafruit/master' into reformat 2018-04-10 12:17:00 -04:00
Dan Halbert
80fb61ea44 remove more unneeded includes 2018-04-10 12:16:46 -04:00
Dan Halbert
04b2c8be5a remove unnecessary includes in esp8266 common-hal storage code 2018-04-10 12:13:21 -04:00
Dan Halbert
5f98953ed8 esp8266 and nrf: raise NotImplementedError 2018-04-10 12:08:41 -04:00
1e9a27177c esp8266: Disable "strict aliasing" in compiler like in atmel-samd
This caused a fatal compiler diagnostic after #750.  This compiler
flag is already specified in the atmel-samd builds, so it makes
sense to do it here for the same reasons.
2018-04-09 22:23:39 -04:00
Scott Shawcroft
fd70383aa0 Fix rom qstr pool length. 2018-04-09 22:23:39 -04:00
Scott Shawcroft
3b511e503a Prevent a heap pointer from living on the stack longer than we need. 2018-04-09 22:23:39 -04:00
eb7d0e317a Create genhdr/ directory in time 2018-04-09 22:23:39 -04:00
Dan Halbert
a0cd94c184
Merge pull request #752 from jepler/esp8266-strict-aliasing
esp8266: Disable "strict aliasing" in compiler like in atmel-samd
2018-04-09 22:21:21 -04:00
c5d2a0da04 esp8266: Disable "strict aliasing" in compiler like in atmel-samd
This caused a fatal compiler diagnostic after #750.  This compiler
flag is already specified in the atmel-samd builds, so it makes
sense to do it here for the same reasons.
2018-04-09 21:17:26 -05:00
Dan Halbert
3883a9fb7a
Merge pull request #749 from tannewt/analyze_heap_dump
Fix rom qstr pool length.
2018-04-09 20:35:34 -04:00
Dan Halbert
d203d1c1cb
Merge pull request #750 from tannewt/parse_tree_memory
Prevent a heap pointer from living on the stack longer than we need.
2018-04-09 20:34:40 -04:00
Scott Shawcroft
7dd1d6afcc Prevent a heap pointer from living on the stack longer than we need. 2018-04-09 16:02:32 -07:00
Scott Shawcroft
619b0ec164 Fix rom qstr pool length. 2018-04-09 15:59:52 -07:00
Dan Halbert
e7b8b13186
Merge pull request #748 from jepler/genhdr-output-directory
Create genhdr/ directory in time
2018-04-09 14:48:21 -04:00
88bbe425db Create genhdr/ directory in time 2018-04-09 13:31:44 -05:00
Dan Halbert
aa8c262d14 add storage.erase_filesystem() to erase and reformat CIRCUITPY 2018-04-09 12:52:42 -04:00
Scott Shawcroft
4e053cea0d
Merge pull request #628 from sommersoft/super_status
Added Function To Check the Serial Connection From CircuitPython Layer
2018-04-08 22:06:09 -07:00
Scott Shawcroft
93e09e7ee5
Merge pull request #738 from dhalbert/3.0_hid
3.0 hid
2018-04-08 22:02:23 -07:00
Dan Halbert
1e87a785b9 Move CDC Comm back to Interface 0 for compat with Win7 drivers. 2018-04-08 15:59:19 -04:00
Dan Halbert
e7305ce15f update usb_descriptor again 2018-04-08 10:15:47 -04:00
Dan Halbert
726d5e52a3 Merge branch 'master' into 3.0_hid 2018-04-08 09:52:29 -04:00
Dan Halbert
32048cdeeb tools/usb_descriptor updates 2018-04-08 09:51:45 -04:00
Dan Halbert
a159b85340 Reorder composite device interfaces; fix report length bug 2018-04-08 09:33:02 -04:00
Scott Shawcroft
9672f3891e
Merge pull request #742 from jepler/esp8266-sdk-fixes
Adapt to incompatible changes in the ESP8266 SDK
2018-04-07 10:01:33 -07:00
d69ef6bfd3 esp8266/etshal: delete incorrect function prototypes
these are function prototypes not used in circuitpython.  The
declarations began to conflict with ones in the upstream SDK
at some point, so delete them.
2018-04-06 20:37:48 -05:00
Paul Sokolovsky
4982a3ad32 esp8266/esp8266_common.ld: Put .text of more libs into .irom0.text .
Recent vendor SDKs ship libs with code in .text section, which previously
was going into .irom0.text. Adjust the linker script to route these
sections back to iROM (follows upstream change).
2018-04-06 20:37:41 -05:00
sommersoft
cc644032ea Merge branch 'super_status' of https://github.com/sommersoft/circuitpython into super_status 2018-04-06 01:58:29 +00:00
sommersoft
d1974e0038 supervisor/Runtime: updated documentation for 'no disconnect' 2018-04-06 01:56:51 +00:00
Scott Shawcroft
8f3bf5faf6
Merge pull request #741 from jepler/samd-reset-modes
Samd reset modes
2018-04-05 10:39:51 -07:00
92853e611d RunMode: Fix repr(RunMode.BOOTLOADER) 2018-04-05 08:16:53 -05:00
fe6f5aaa70 atmel-samd: reset: reset() was always entering bootloader mode
.. set the dbl_tap word to a different special value unless
RUNMODE_BOOTLOADER was selected
2018-04-05 08:16:53 -05:00
Scott Shawcroft
5939497218
Merge pull request #740 from jepler/reboot-bootloader
atmel-samd: Fix rebooting to bootloader
2018-04-03 22:35:39 -07:00
5eb9f9d060 atmel-samd: Fix rebooting to bootloader
Commit efbf08266b moved _estack in order to ensure 8-byte alignment
of the stack, but the address of _bootloader_dbl_tap must remain
right at the end of SRAM.

I verified by reading the source that the 4-byte-aligned address is
used for all samd21 / samd51 boards in
adafruit/circuitpython@efbf08266b.  However, I only tested on
trinket_m0.

Closes: #739
2018-04-03 21:40:10 -05:00
Dan Halbert
beb6ad2e40 Add USB HID support, including Consumer Control 2018-04-02 21:37:44 -04:00
Dan Halbert
435e894fa0 Merge branch 'master' into 3.0_hid 2018-04-02 19:19:43 -04:00
Dan Halbert
d005b12326 WIP: seems to be done 2018-04-02 19:08:18 -04:00
Scott Shawcroft
98c7d70fe4
Merge pull request #736 from jepler/testsuite-serial-travis
travis.yml: Running tests in parallel on travis is slower
2018-04-02 10:32:19 -07:00
Scott Shawcroft
b0184362a2
Merge pull request #730 from jepler/remove-appveyor-circuitpython
ports/windows: Remove appveyor.yml
2018-04-02 10:30:03 -07:00
c0ef427a98 travis.yml: Running tests in parallel on travis is slower
.. so explicitly set them to run serially with -j1.

(as discussed on #729)
2018-04-02 08:06:49 -05:00
c592b0e0f8 ports/windows: Remove appveyor.yml
.. this allows developers who want to work with both micropython and
circuitpython to enable appveyor on their fork, but not get errors
when pushing circuitpython changes.

In the appveyor configuration for your fork, simply enable the
checkbox "Skip branches without appveyor.yml".
2018-04-02 07:59:12 -05:00
Scott Shawcroft
fc9340ca17
Merge pull request #733 from pewpew-game/gamepad-pull
Respect pin's pull in gamepad
2018-04-01 22:58:25 -07:00
Scott Shawcroft
630352c25d
Merge pull request #732 from pewpew-game/gamepad-typecheck
Add a type check to the gamepad module
2018-04-01 22:53:54 -07:00
Scott Shawcroft
e4ae1e3d59
Merge pull request #734 from jepler/str-find-backwards-circuitpython
py/objstr: Don't crash when end < start
2018-04-01 22:41:59 -07:00
Scott Shawcroft
b62d8faaec
Merge pull request #735 from jepler/generator-stack-overflow-circuitpython
py/objgenerator: Check stack before resuming a generator
2018-04-01 22:38:19 -07:00
a909007fef py/objgenerator: Check stack before resuming a generator
This turns a hard crash in a recursive generator into
a 'maximum recursion depth exceeded' exception.
2018-04-01 16:40:15 -05:00
0041df0c6b py/objstr: Don't crash when end < start
.. and add testcases for the same.

(crash found by afl-fuzz)
2018-03-31 22:17:11 -05:00
Radomir Dopieralski
280374fa63 Respect pin's pull in gamepad
While it is traditional to have buttons on pins that are pulled up, and
have the button connect them to the ground, some CircuitPython boards
(notably the CPX) have the button pins pulled low and the button
connects them to VCC.

This patch makes the gamepad only change the pin's pull if it wasn't
already set when passed to the constructor, and also makes it consider
a button pressed when its value is the opposite of its pull.
2018-03-31 21:13:02 +02:00
Radomir Dopieralski
6ca4fd82ed Add a type check to the gamepad module
Make sure that all the arguments passed are indeed DigitalInOut.
This avoids crashes when the users pass something else.
2018-03-31 20:41:16 +02:00
Scott Shawcroft
3215b85568
Merge pull request #728 from jepler/double-splat-crash-circuitpython
py/bc: Turn assertion error into exception
2018-03-31 09:57:25 -07:00
Scott Shawcroft
d65ea992bf
Merge pull request #729 from jepler/tests-parallel-circuitpython
Optionally parallelize the testsuite
2018-03-31 09:55:21 -07:00
f8e0baa0b7 appveyor: parallelize tests 2018-03-31 10:43:57 -05:00
b59964f707 ports/unix/Makefile: parallelize tests 2018-03-31 10:42:33 -05:00
0dfc3be903 run_tests: EXTERNAL_TARGETS can't run in parallel 2018-03-31 10:40:37 -05:00
c1cd259529 travis.yml: best guesses about when to run tests in parallel
Notably, "--via-mpy" spews failures when threaded, possibly indicating
that micropython is not creating mpy files in threadsafe manner.
2018-03-31 10:39:55 -05:00
c2b8529698 run-tests: automatically parallelism based on CPU (thread) count 2018-03-31 10:38:54 -05:00
a3309ebb80 run-tests: optionally parallelize tests
When requested via 'run-tests -j', more than one test will be run
at a time.  On my system, (i5-3320m with 4 threads / 2 cores), this
reduces elapsed time by over 50% when testing pots/unix/micropython.

Elapsed time, seconds, best of 3 runs with each -j value:

before patchset: 18.1
            -j1: 18.1
            -j2: 11.3  (-37%)
            -j4:  8.7  (-52%)
            -j6:  8.4  (-54%)

In all cases the final output is identical:
    651 tests performed (18932 individual testcases)
    651 tests passed
    23 tests skipped: buffered_writer...
though the individual pass/fail messages can be different/interleaved.
2018-03-31 10:38:54 -05:00
b9dd6a5bb4 run-tests: sort skipped and failed tests
.. otherwise the line which reports tests skipped and failed can come in
different orders when -j values above 1 are used.
2018-03-31 10:38:54 -05:00
a73f005e00 run_tests: make access to shared variables thread safe 2018-03-31 10:38:52 -05:00
4767d23db3 run_tests: factor run_one_test to function 2018-03-31 10:38:04 -05:00
853f7ac4d0 py/bc: Turn assertion error into exception 2018-03-31 08:44:29 -05:00
Dan Halbert
c00b25ec45 WIP: HID works with MSC interfaces removed 2018-03-30 23:31:28 -04:00
Dan Halbert
df91878d2e WIP: works with just keyboard but not complex report descriptor 2018-03-30 23:24:00 -04:00
Scott Shawcroft
1489450693
Merge pull request #727 from sommersoft/build_doc
Added git submodule Step To SAMD README
2018-03-30 15:59:39 -07:00
sommersoft
8af98d0dc9 ambiguized directory paths 2018-03-30 22:44:16 +00:00
sommersoft
a5b60647be improved arrangement 2018-03-30 22:26:21 +00:00
sommersoft
7c0be04696 verbiage cleanup 2018-03-30 22:21:35 +00:00
sommersoft
c70acab8b3 updated README; added git submodule info 2018-03-30 22:16:36 +00:00
sommersoft
6ee573c7c9
Merge branch 'master' into super_status 2018-03-30 14:27:39 -05:00
Dan Halbert
bee0d2edb4
Merge pull request #710 from jepler/assertion-failures-to-exceptions
Assertion failures to exceptions
2018-03-30 13:47:55 -04:00
Jeff Epler
ff06a45599 Fix assertion failures in super_attr
micropython: ../../py/objtype.c:1100: super_attr: Assertion `MP_OBJ_IS_TYPE(self->type, &mp_type_type)' failed.

e.g., when making calls like
    super(1, 1).x
2018-03-29 06:42:10 -05:00
Jeff Epler
6da8d7c465 Fix assertion failures in mp_obj_new_type
Fixes the following assertion failures when the arguments to type()
were not of valid types:
micropython: ../../py/objtype.c:984: mp_obj_new_type: Assertion `MP_OBJ_IS_TYPE(bases_tuple, &mp_type_tuple)' failed.
micropython: ../../py/objtype.c:994: mp_obj_new_type: Assertion `MP_OBJ_IS_TYPE(items[i], &mp_type_type)' failed.

e.g., when making calls like
    type("", (), 3)
    type("", 3, {})
2018-03-29 06:42:10 -05:00
Jeff Epler
a55988a547 Fix assertion failure in mpz_divmod_inpl
.. turning this from an assertion failure into an exception:
    pow(1,1,0)
2018-03-29 06:42:10 -05:00
Scott Shawcroft
676ed4e199
Merge pull request #724 from tannewt/fix_freetouch_submodule
Remove freetouch files that were accidentally checked in and
2018-03-28 14:24:32 -07:00
Scott Shawcroft
7b2215a27c
Merge pull request #723 from jepler/high-quality-float-hash
Enable high-quality float hash
2018-03-28 14:16:32 -07:00
Scott Shawcroft
19b0b414e6 Remove freetouch files that were accidentally checked in and
readd the submodule.
2018-03-28 14:04:53 -07:00
Jeff Epler
abec199c19 Enable high-quality float hash
This appears to have a relatively small impact on flash usage but
fixes some pathological slow behavior putting floats in dicts or sets.

Closes: #704
2018-03-27 21:56:30 -05:00
Scott Shawcroft
6711c5c90d
Merge pull request #712 from jepler/fslabel
Add ability to get, set filesystem label from CircuitPython
2018-03-27 19:51:48 -07:00
34f5498760 Document storage.VfsFat more thoroughly 2018-03-27 21:28:19 -05:00
9c47fd9c13 Specifically give a better error message for setlabel on RO fs 2018-03-27 21:28:19 -05:00
fe7f405fc7 Add VfsFat.label property
These allow accessing the filesystem label.  For instance,
in boot.py, you can set the label on the built-in storage with:
   storage.remount('/', False)
   storage.getmount('/').label = "NEWLABEL"
   storage.remount('/', True)

Users with multiple CIRCUITPY boards may find it desirable to
choose a different label for each board they own.
2018-03-27 21:28:18 -05:00
c08f5a3a00 Add storage.getmount to retrieve the mount object associated with a path 2018-03-27 21:28:18 -05:00
968763aa1d factor out storage_object_from_path 2018-03-27 21:28:18 -05:00
Dan Halbert
1eba580443
Merge pull request #722 from adafruit/tannewt-patch-7
Add four missing drivers
2018-03-27 17:53:43 -04:00
Scott Shawcroft
f4563d11d1
Add four missing drivers 2018-03-27 14:25:14 -07:00
Dan Halbert
4c2f729a7a
Merge pull request #713 from jepler/lto-type-diagnostic-bis
Allow building on gcc 5.4, while preserving ability to build with 7.2
2018-03-27 09:28:41 -04:00
Scott Shawcroft
4517ab8ba4
Merge pull request #709 from jepler/core-class-superproperty
Make test core_class_superproperty.py succeed
2018-03-26 21:59:05 -07:00
Kattni
77938db8c8
Merge pull request #719 from tannewt/fix_i2c_hang
Fix I2C init hang when the SCL pin is pulled low.
2018-03-26 20:08:14 -04:00
Dan Halbert
4190aa2eed
Merge pull request #715 from jepler/array-operation-restrictions-bis
Remove 'O', 'P' support in arrays
2018-03-26 20:01:34 -04:00
Jeff Epler
047a4f59c5 This test now passes, make it run regularly 2018-03-26 18:47:06 -05:00
Scott Shawcroft
cebcec5e63 Check for floating pins by pulling them low briefly before testing their values. 2018-03-26 16:32:16 -07:00
Jeff Epler
355bf8b553 Conditionally compile out nonstandard array/struct typecodes
.. defaulting to off for circuitpython-supported boards, on for others.

.. fixing up the tests that fail when it is turned off, so that they skip
instead of failing
2018-03-26 18:13:49 -05:00
Scott Shawcroft
25ba8ee489 Add an s because grammar. 2018-03-26 15:21:08 -07:00
Scott Shawcroft
37538fc0e7 Fix I2C init hang when the SCL pin is pulled low.
We added a check to make sure the pins are in a high state before
initing the bus. This leads to a friendly error message when someone
forgets to add the pull up resistors to their circuit.
2018-03-26 15:13:52 -07:00
Scott Shawcroft
ea39f4378e
Merge pull request #698 from sommersoft/repl_fix
Fix 128 Character Max Paste Into REPL
2018-03-26 13:02:43 -07:00
sommersoft
9bd55cf4c7
minor cleanup 2018-03-26 08:14:37 -05:00
sommersoft
23009fdd63 future-proof for buffer size changes 2018-03-26 06:25:04 +00:00
Dan Halbert
8b6aeb9e19
Merge pull request #702 from jepler/issue689bis
correct typo in filename
2018-03-25 23:58:00 -04:00
Dan Halbert
df731884a6
Merge pull request #708 from jepler/cpu-uid-nibbles
Don't lose half of the processor's serial number
2018-03-25 23:53:02 -04:00
Jeff Epler
d57397f9c8 Remove an unneeded -Wno-error=lto-type-mismtach 2018-03-25 22:04:15 -05:00
Jeff Epler
74fefe45a4 super(): Do the same lookup tasks as regular getattr
.. in the presence of properties and descriptors
2018-03-25 15:11:40 -05:00
Jeff Epler
922b7c3131 Don't assume the type of the prop->proxy objects
This fixes a crash running the cpydiff/core_class_superproperty.py
test, but it does not fix the difference to cpython3.

Closes: #705
2018-03-25 15:11:30 -05:00
Jeff Epler
c0029e1d97 Don't lose half of the processor's serial number
Before this change, `microcontroller.cpu.uid` returned values
where the top 4 bits of each byte were zero, because of
an incorrect bitmask used in this function.
2018-03-25 13:01:04 -05:00
Dan Halbert
31f5b6a238 WIP: simple working HID 2018-03-24 18:29:12 -04:00
Jeff Epler
d80e54458d correct typo in filename 2018-03-24 10:44:24 -05:00
sommersoft
6205ed9a0c updated cdc_enabled; now more dynamic status return 2018-03-24 03:42:58 +00:00
sommersoft
ef16109c5d updated with requested changes 2018-03-24 00:55:48 +00:00
Scott Shawcroft
fa88446679
Merge pull request #697 from jepler/issue501
extmod/vfs_fat_file: Implement SEEK_CUR for non-zero offset.
2018-03-23 14:48:41 -07:00
Scott Shawcroft
8d376a3efb
Merge pull request #693 from jepler/issue236
Implement * and *= for array.array
2018-03-23 14:46:03 -07:00
sommersoft
f237657e5e extended buffer check to usb_cdc_background 2018-03-23 18:41:27 +00:00
Dan Halbert
ce8f7e69bf
Merge pull request #700 from adafruit/tannewt-patch-6
Update USB PID
2018-03-23 13:25:39 -04:00
Scott Shawcroft
63d826a52a
Update USB PID 2018-03-23 09:34:02 -07:00
sommersoft
ccbe557e30 removed leftover debugging bits 2018-03-23 15:45:30 +00:00
sommersoft
d434635822 add buffer check before triggering new usb read 2018-03-23 15:07:02 +00:00
Ayke van Laethem
fa55b15ac6 extmod/vfs_fat_file: Implement SEEK_CUR for non-zero offset.
CPython doesn't allow SEEK_CUR with non-zero offset for files in text mode,
and uPy inherited this behaviour for both text and binary files.  It makes
sense to provide full support for SEEK_CUR of binary-mode files in uPy, and
to do this in a minimal way means also allowing to use SEEK_CUR with
non-zero offsets on text-mode files.  That seems to be a fair compromise.
2018-03-23 09:19:56 -05:00
Dan Halbert
261586518a
Merge pull request #694 from tannewt/feather_m4
Add Feather M4 Express support.
2018-03-23 09:16:10 -04:00
Jeff Epler
cdb83b18ec Implement * and *= for array.array 2018-03-23 07:37:07 -05:00
Scott Shawcroft
fd7dcff4e9 Add Feather M4 Express support.
* Also fixed detection of SPI flash chip to correct look in the 2+
spots.
* Added support for using QSPI in dual read mode.
2018-03-23 00:00:13 -07:00
Dan Halbert
00eacbf45e
Merge pull request #692 from tannewt/latest_m4
Add support for the Metro M4 Rev F and make the SPI flash code more robust
2018-03-22 22:01:33 -04:00
Scott Shawcroft
06b4c83f59 Add reminder to remove Saleae when going fast. 2018-03-22 17:44:44 -07:00
Scott Shawcroft
3bf4d69f67 Update Metro M4 to rev F and make flash reset on start. 2018-03-22 16:42:47 -07:00
Scott Shawcroft
0c4bbefdf0
Merge pull request #691 from jepler/issue689
Autocreate files that prevent MacOS indexing of the CIRCUITPYTHON dive
2018-03-22 10:28:41 -07:00
Scott Shawcroft
f8bee74e8e
Merge pull request #690 from jepler/no-gitter
README: delete reference to gitter
2018-03-22 10:06:02 -07:00
Jeff Epler
a7e3c74fed Autocreate files that prevent MacOS indexing of the CIRCUITPYTHON dive
.. the price of this appears to be about 112 bytes of flash and 12
bytes of RAM, according to the stats printed during the build.

It also uses up 4 directory entries (out of 128), but does not reduce
the number of blocks usable for storing file contents.

These are the same items noted in the Adafruit README for Trinket M0
as preventing MacOS indexing.

Closes: #689
2018-03-22 08:07:32 -05:00
Jeff Epler
9ddf60f8b4 CONTRIBUTING: delete reference to gitter 2018-03-21 21:35:07 -05:00
Jeff Epler
edfc76be4d README: delete reference to gitter
"We don't use gitter anymore" -- the last message on
https://gitter.im/adafruit/circuitpython on February 18
2018-03-21 21:11:24 -05:00
Scott Shawcroft
9ab39eb2d2
Merge pull request #688 from jepler/atsamd-build-reqs
Better document build requirements and steps
2018-03-20 10:03:01 -07:00
Scott Shawcroft
286e342a9a
Merge pull request #686 from jepler/lto-type-diagnostic
Fix array vs pointer error in declaration of circuitpython_help_text
2018-03-20 10:01:28 -07:00
Scott Shawcroft
0f90f35606
Merge pull request #685 from jepler/uart-diagnostic
UART: Fix maybe-uninitialized diagnostic
2018-03-20 09:59:31 -07:00
Jeff Epler
3f82fe8da9 README.rst: document mpy-cross gotcha
This was biting me, leading to an odd error later on.
2018-03-20 07:53:30 -05:00
Jeff Epler
fa491b4c32 README.rst: spell out gcc version requirements
.. the text was adapted from ports/stm32 and a conversation with
Dan Halbert.
2018-03-20 07:53:30 -05:00
Jeff Epler
002797a3b4 Fix array vs pointer error in declaration of circuitpython_help_text
Building with gcc 5.4.1 (Debian Stretch) with the unsupported
-Wno-error=lto-type-mismatch flag removed, the following diagnostic
occurs:

../../py/builtin.h:121:19: error: type of 'circuitpython_help_text' does not match original declaration [-Werror]
 extern const char MICROPY_PY_BUILTINS_HELP_TEXT[];
                   ^
../../shared-bindings/help.c:38:13: note: previously declared here
 const char *circuitpython_help_text =
             ^
lto1: all warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/arm-none-eabi-gcc returned 1 exit status
2018-03-19 22:11:40 -05:00
Dan Halbert
4e3748d0ae
Merge pull request #683 from kattni/digital-pin-assignments
Added digital pin assignments to CPX
2018-03-19 22:17:21 -04:00
Jeff Epler
dddfad6594 UART: Fix maybe-uninitialized diagnostic
The following error occurs when building with gcc 5.4.1 (debian stretch):

common-hal/busio/UART.c:104:83: error: 'sercom_index' may be used uninitialized in this function [-Werror=maybe-uninitialized]
                   sercom_insts[rx->sercom[j].index]->USART.CTRLA.bit.ENABLE == 0) ||

It may be related to the addition of rx-only UARTs; gcc is unable
to infer the intended relationship between have_tx and sercom_index
being set (I am still not entirely confident of it myself)
2018-03-19 20:40:04 -05:00
Kattni
05e2a7d1ac Added digital pin assignments 2018-03-15 20:28:09 -04:00
Scott Shawcroft
bf42611738
Merge pull request #681 from jerryneedell/patch-1
fix dotstar for Gemma_M0 in CP3.0
2018-03-15 10:05:26 -07:00
jerryneedell
04b4026666
fix dotstar for Gemma_M0 in CP3.0
Uncomment lines in mpconfigport.h for gemma_m0 to allow dotstar access.  same issue as #514 for trinket_m0
2018-03-14 21:28:56 -04:00
Dan Halbert
f173d45941
Merge pull request #678 from tannewt/m0_no_timer_fix
Correct NO_TIMER index value for SAMD21.
2018-03-14 15:04:39 -04:00
Scott Shawcroft
88aa0e2660 Remove SERCOM pointers from pin data structure because index is
enough.

This saves 380 bytes on the Arduino Zero build. (More pins ==
more savings.)
2018-03-14 11:14:32 -07:00
Dan Halbert
07dd26d722
Merge pull request #679 from tannewt/usb_race3
Check usb_busy up front in usb background function.
2018-03-14 13:54:20 -04:00
Scott Shawcroft
7a3f86d184 Check usb_busy up front in usb background function.
Waiting to do so risks accidentally queueing another response.

Hopefully fixes #655 but we'll let @jerryneedell confirm.
2018-03-14 10:32:41 -07:00
Scott Shawcroft
c37ade9aeb Correct NO_TIMER index value for SAMD21.
We check validity by ensuring it's lower than the total number of
timers. 0 is a terrible number for the NO_TIMER value because its
valid even though it shouldn't be.

Fixes https://github.com/adafruit/Adafruit_CircuitPython_SimpleIO/issues/29
2018-03-13 12:44:00 -07:00
Dan Halbert
b64d568267
Merge pull request #677 from tannewt/usb_active_read
Move usb read finish into interrupt.
2018-03-13 15:16:40 -04:00
Scott Shawcroft
15dd2fc0ab
Merge pull request #676 from vesperk38/patch-1
line 172 has a typo   correct 2MB to 4MB
2018-03-13 11:33:19 -07:00
Scott Shawcroft
8157248189 Move usb read finish into interrupt.
Having the `active_read = false` in the background function left
a chance that a new_write occurs before active_read is set to false.

In that case, we'll read the appropriate data rather than write it
and never clear the active write.

Hopefully fixes #655.
2018-03-13 11:29:29 -07:00
vesperk38
945f2f5aa1
line 172 has a typo correct 2MB to 4MB 2018-03-13 13:42:29 -04:00
Dan Halbert
9d928b5726
Merge pull request #668 from python-ugame/master
_stage: use 16 bit for coordinates to support larger screens
2018-03-12 18:14:32 -04:00
Dan Halbert
ae3021bc9f
Merge pull request #669 from python-ugame/gamepad3
gamepad: Enable the gamepad module for express boards in 3.x
2018-03-12 15:32:40 -04:00
Radomir Dopieralski
81ab2526e4 gamepad: Enable the gamepad module for express boards in 3.x 2018-03-11 13:39:54 +01:00
Radomir Dopieralski
493c1452f3 _stage: use 16 bit for coordinates to support larger screens 2018-03-11 12:07:23 +01:00
Dan Halbert
dde5ade524
Merge pull request #663 from tannewt/dma3
Use DMA for long SPI transactions including those to the SPI Flash.
2018-03-09 21:23:10 -05:00
sommersoft
8c9cc6b7c0 nrf: changed Status to Runtime; instituted runtime singleton 2018-03-10 01:07:17 +00:00
sommersoft
2569b33c84 1 more sphinx fix; added '.. class::' constructor 2018-03-09 21:00:15 +00:00
Scott Shawcroft
e7fc0b6aa7 Use DMA for long SPI transactions including those to the SPI Flash.
QSPI is not currently working so its commented out.

This is progress on #652.
2018-03-09 12:45:46 -08:00
sommersoft
f21038b913 sphinx fix; incorrect currentmodule ref 2018-03-09 20:24:07 +00:00
Scott Shawcroft
f00d2814b7
Merge pull request #661 from kattni/add-am2320-to-driver-list
Added AM2320 to driver list
2018-03-09 12:05:12 -08:00
Scott Shawcroft
9bcdf40410
Merge pull request #662 from siddacious/dotstar_fixes
fixes hardware dotstar support for 3.0 and addresses issue #514
2018-03-09 12:02:53 -08:00
Bryan Siepert
942b7ffbe0 fixes hardware dotstar support for 3.0 and addresses issue #514 2018-03-08 20:39:47 -08:00
sommersoft
01471e1e22 sphinx fix; added toctree to include 'runtime' 2018-03-09 03:22:00 +00:00
sommersoft
c1c3a79ec4 atmel-samd: changed Status to Runtime; instituted runtime singleton 2018-03-09 02:19:51 +00:00
Kattni
fa8f1a29e5 moved to top of list for alphabetical order 2018-03-07 23:10:25 -05:00
Kattni
2de471950a Added AM2320 to driver list 2018-03-07 17:25:43 -05:00
Kattni
402e71dcdd
Merge pull request #659 from tannewt/driver_page_update
Update driver links (for 3.x) including categories!
2018-03-06 21:41:47 -05:00
Scott Shawcroft
4f55205bf5 Fix links. Adding the en/latest/ circumvents a ReadTheDocs bug
which redirects projects incorrectly.
2018-03-06 18:24:56 -08:00
Scott Shawcroft
f16619ad3c Update driver links including categories! 2018-03-06 16:54:13 -08:00
Scott Shawcroft
15b8455cc4
Merge pull request #654 from tannewt/structify_flash_devices
Structify flash devices
2018-03-01 17:42:54 -08:00
Scott Shawcroft
01aceaae50 Support all boards and remove erase and page sizes because they never change. 2018-03-01 12:45:12 -08:00
Scott Shawcroft
2ab923862b Structify flash device definitions. 2018-02-28 19:15:54 -08:00
Dan Halbert
568c04e6af
Merge pull request #650 from tannewt/merge_2x
Merge in commits from 2.x branch.
2018-02-27 22:03:52 -05:00
Scott Shawcroft
ea633117d0 Remove bad c2rst and fix the other for sphinx 1.7.1 2018-02-27 18:08:49 -08:00
Scott Shawcroft
737007cdd8 Install recommonmark too. 2018-02-27 15:57:00 -08:00
Scott Shawcroft
ebf326f565 Build sphinx on Travis 2018-02-27 15:38:28 -08:00
Scott Shawcroft
bf05183158 Merge remote-tracking branch 'adafruit/2.x' into merge_2x 2018-02-27 15:24:16 -08:00
Scott Shawcroft
6a2379fd0b
Merge pull request #649 from dhalbert/3.0_AnalogOut_fixes
Use safe clock freqs for AnalogOut; use DAC REFRESH on SAMD51.
2018-02-27 14:44:35 -08:00
Dan Halbert
5c24023240 use CONF_GCLK_DAC_SRC and refactor a bit 2018-02-27 17:21:03 -05:00
Dan Halbert
4895a9d1d8 Use safe clock freqs for AnalogOut; use DAC REFRESH on SAMD51. 2018-02-27 15:44:27 -05:00
Scott Shawcroft
5eb3b208e8
Merge pull request #647 from siddacious/samd51g_timer_fix
fixes timer number assumptions for samd51s for issue #646
2018-02-27 10:37:10 -08:00
Bryan Siepert
e42209a6b2 fixes timer number assumptions for samd51s for issue #646 2018-02-27 00:42:40 -08:00
Scott Shawcroft
586be2eb22
Merge pull request #643 from dhalbert/3.0_esp8266_uart1
Add .baudrate support to ESP8266.
2018-02-26 17:40:13 -08:00
Scott Shawcroft
6723c44d5a
Merge pull request #645 from dhalbert/3.0_itsy_express
consistently brand Itsy Bitsy M0 as 'Express'; update travis
2018-02-26 15:26:09 -08:00
Dan Halbert
83635f22c4 add itsybitsy_m0_express and metro_m4_express_revb to travis builds 2018-02-26 17:42:29 -05:00
Dan Halbert
cc7acfd491 consistently brand Itsy Bitsy M0 as 'Express' 2018-02-26 17:37:03 -05:00
Dan Halbert
907b4417c0 Add .baudrate support to ESP8266.
busio.UART on ESP8266 provides a TX-only UART on GPIO2.
Fixed some bugs in the implementation.
2018-02-24 15:45:15 -05:00
Scott Shawcroft
892d5cda63
Merge pull request #641 from dhalbert/2.x_esp8266_remove_obsolete_drivers
Remove obsolete peripheral drivers in esp module
2018-02-23 12:37:18 -08:00
Limor "Ladyada" Fried
6daf4bd222
Merge pull request #640 from dhalbert/metro_m4_tx_rx
add board.RX and .TX pins to metro_m4_express_revb
2018-02-23 14:10:33 -05:00
Dan Halbert
641a44e3e9 Remove obsolete periphal drivers in esp module 2018-02-23 10:57:59 -05:00
Dan Halbert
957a82b592 add board.RX and .TX pins to metro_m4_express_revb 2018-02-23 09:54:39 -05:00
Kattni
7399a1a5c7
Merge pull request #634 from dhalbert/3.0_UART
Implement UART for 3.0 + related fixes.
2018-02-21 23:07:27 -05:00
Dan Halbert
5f101f3535 Add dummy UART implementation to nrf so it builds with UART turned on. Also add OneWire. 2018-02-21 22:53:17 -05:00
Scott Shawcroft
0a3d9cf482
Merge pull request #633 from jamesadevine/patch-1
Update boards URL in README.rst
2018-02-21 17:48:08 -08:00
Dan Halbert
419920987c
Merge pull request #632 from tannewt/delete_out_of_date
Delete out of date docs, drivers and examples
2018-02-21 20:14:46 -05:00
Dan Halbert
9b4477e1dc Implement UART for 3.0 + related fixes.
1. UART: ported to ASF4. Allow rx-only and tx-only. Add .baudrate r/w property.

2. Make NeoPixel timing deterministic by turning off caches during NeoPixel writes.
3. Incorporate asf4 updates:
  a. async USART driver
  b. bringing Atmel START configuration closer to what we use
  c. Clock initialization order now specified by CIRCUITPY_GCLK_INIT_1ST and _LAST.
4. supervisor/port.c: Move commented-out clock-test pin setting to correct location.
2018-02-21 17:18:49 -05:00
James Devine
9c5a9e3411
Update boards URL in README.rst
Corrected a (probably) old URL in the read me.
2018-02-21 16:14:46 +00:00
Scott Shawcroft
e667bdfe05 Polish up the README since it was converted to RST from Markdown. 2018-02-20 18:06:42 -08:00
Scott Shawcroft
20dd3b1e43 Delete a bunch of docs, drivers and examples not relevant to CircuitPython.
This fixes #345 and fixes #215.
2018-02-20 17:34:59 -08:00
Dan Halbert
fd9d3de208
Merge pull request #631 from tannewt/metro_revb
Add a new board for Metro M4 Express Rev B.
2018-02-20 16:50:41 -05:00
Scott Shawcroft
d02251f8cd Add a new board for Metro M4 Express Rev B. This is the board
send to community members for testing.

Also tweaked and commented reset pin list for main Metro M4 Express
which is currently unreleased and is Rev D.
2018-02-20 12:34:07 -08:00
Dan Halbert
06d3c5aed7
Merge pull request #627 from tannewt/qspi
Add QSPI support for the SAMD51
2018-02-20 10:11:35 -05:00
Scott Shawcroft
653fc8877d Remove breakpoint instruction used for debugging. 2018-02-19 21:38:14 -08:00
sommersoft
60d6ccc731 changed spaced supervisor/Status.c line to tabbed 2018-02-20 03:44:45 +00:00
sommersoft
5de8df7997 added Status submodule to ports/nrf/common-hal/supervisor; issue #544 2018-02-19 22:27:16 +00:00
Scott Shawcroft
15f626be58 m4 qspi works. m0 compiles 2018-02-19 14:02:04 -08:00
Scott Shawcroft
f20d5723aa Reorganize things. Reading jdec works. 2018-02-19 14:02:04 -08:00
Scott Shawcroft
4710a2adba Compiles for m4. Untested on m0.
This introduces a new spi_flash_api.h that works for both SPI and
QSPI. The previous spi_flash functions are now called external_flash
to minimize confusion.
2018-02-19 14:02:04 -08:00
Scott Shawcroft
a2bd772d5c Begin rework to add qspi support. 2018-02-19 14:02:04 -08:00
sommersoft
9ee4d13756 added Status submodule to ports/atmel-samd/common-hal/supervisor; issue #544 2018-02-19 20:49:18 +00:00
sommersoft
fca9c66c27 added Status submodule to shared-bindings/supervisor; issue #544 2018-02-19 20:40:17 +00:00
Scott Shawcroft
3642fcbb23
Merge pull request #626 from microbuilder/master
nRF52: Update nrfutil to 0.5.2b for nRF52840 erase time fix
2018-02-16 14:57:44 -08:00
Dan Halbert
cb39bfcad9
Merge pull request #625 from tannewt/pulseio3
Re-enable pulseio for SAMD21 and SAMD51
2018-02-16 14:08:01 -05:00
Scott Shawcroft
a2b18b75d4 Fix loops and comma style. 2018-02-16 10:05:28 -08:00
microbuilder
ea30622318 Updated nrfutil to 0.5.2b for nRF52840 erase time fix 2018-02-16 16:01:33 +01:00
Dan Halbert
ee90056866
Merge pull request #621 from tannewt/tweak_itsybitsy_status_brightness
Increase the status LED brightness a bit so that newer DotStars
2018-02-15 21:01:13 -05:00
Scott Shawcroft
eb2b41810a Turn on lto 2018-02-15 16:12:58 -08:00
Scott Shawcroft
538081528d pulsein works on m0 2018-02-15 16:04:39 -08:00
Scott Shawcroft
fcde138ea3 pulsein works on m4 2018-02-15 15:12:58 -08:00
Kevin Townsend
fb5f653442
Merge pull request #623 from microbuilder/nrf52840
nRF52: [WIP] Feather52840 BSP and nRF52840 Serial Bootloader and
2018-02-15 22:29:46 +01:00
Kevin Townsend
fce0b0858f Removed leftover build option 2018-02-15 21:46:14 +01:00
Kevin Townsend
10497d1db0 Update for style consistency 2018-02-15 21:44:05 +01:00
Kevin Townsend
6544f4cb5c Cleanup minor typos 2018-02-15 21:42:24 +01:00
Kevin Townsend
da15053e0a Fixed pin P0_00 2018-02-15 21:41:21 +01:00
Kevin Townsend
d4356f9416 Added second 'P0_00' 2018-02-15 17:00:58 +01:00
Kevin Townsend
cd7baed14d Added note nrfutil and flashing 2018-02-15 16:00:34 +01:00
Kevin Townsend
70596b6641 Added note on MSDDisable 2018-02-15 15:51:10 +01:00
hathach
f989db25b5 more bootloader feather52840 update 2018-02-15 21:43:27 +07:00
hathach
2e0edd5a63 Merge branch 'nrf52840' of github.com:microbuilder/circuitpython into nrf52840 2018-02-15 15:19:47 +07:00
hathach
2c9cd38547 update bootloader for feather52840 2018-02-15 15:12:30 +07:00
Kattni
446a31302c
Merge pull request #600 from tannewt/clarify_property_comments
Clarify style of attribute comments in the Design Guide.
2018-02-14 22:03:37 -05:00
Scott Shawcroft
07230f2637 pulsein compiles but doesn't work 2018-02-14 16:59:04 -08:00
Scott Shawcroft
c7af17525b m4 pulseout works 2018-02-14 11:38:52 -08:00
Scott Shawcroft
6a7d889dd4 m0 pulseout works. Factored out shared timer code. 2018-02-13 18:17:20 -08:00
Scott Shawcroft
8479eef578 m0 tc and tcc work 2018-02-13 16:44:04 -08:00
Scott Shawcroft
6c3075bec6 m4 tc and tcc works. multi-tcc channels ok too. 2018-02-13 14:22:55 -08:00
Scott Shawcroft
06c944519d Fix builds without status pixel. No need to track its brightness when its unavaialable. 2018-02-13 09:39:19 -08:00
Kevin Townsend
0981c579f0 Fixed pin names 2018-02-13 18:26:28 +01:00
Kevin Townsend
b65e97bdb3 Update pin names 2018-02-13 18:17:31 +01:00
Kevin Townsend
5160dda473 Merge branch 'master' into nrf52840 2018-02-13 18:13:47 +01:00
Kevin Townsend
7b1cc9985b Merge branch 'master' of github.com:adafruit/circuitpython 2018-02-13 18:11:20 +01:00
Kevin Townsend
fac488fbf8
Merge pull request #617 from arturo182/nrf_gpio_cleanup
nrf: Change pin names on DKs to match silkscreen
2018-02-13 17:54:25 +01:00
Kevin Townsend
283be4f58e Added note on installing nrfutil 2018-02-13 11:55:24 +01:00
Kevin Townsend
7b6d1052d9 Improved README 2018-02-13 11:50:51 +01:00
Kevin Townsend
6a8bafc91b Updated FATFS to 256KB 2018-02-13 11:50:29 +01:00
Kevin Townsend
fc28fc4f0b Added notes on flashing bootloader 2018-02-13 11:26:10 +01:00
Kevin Townsend
4745272d6c Added feather52840 readme 2018-02-13 09:34:09 +01:00
Kevin Townsend
76eacad27b
Updated board detection macro 2018-02-13 08:52:17 +01:00
Kevin Townsend
9f1cd41d77
Update to S140 2018-02-13 08:44:35 +01:00
Kevin Townsend
d2b8ae66cb
Update mpconfigboard.h 2018-02-13 08:42:44 +01:00
Scott Shawcroft
cc616aea4e m4 tc output works. Watch out for the PAC! 2018-02-12 23:41:26 -08:00
Kevin Townsend
59f25fb7a5
Update to S140 2018-02-13 08:40:40 +01:00
hathach
3a54a67f3d add 52840 serial bootloader 2018-02-13 13:32:47 +07:00
hathach
3bb45511fa add feather52840 board 2018-02-13 12:26:34 +07:00
Scott Shawcroft
a5220010f2 Dim the neopixel status LED through the brightness control. 2018-02-12 18:34:59 -08:00
Scott Shawcroft
4cc2cf0e8f Increase the status LED brightness a bit so that newer DotStars
aren't super dim. This will make status NeoPixels a bit bright
but one can use samd.set_rgb_status_brightness() to dim them.
2018-02-12 18:09:37 -08:00
Kevin Townsend
4f32732c95
Merge pull request #618 from arturo182/nrf_debug_optim
nrf: Use -O1 for debug builds
2018-02-12 23:15:03 +01:00
arturo182
7579057ee2 nrf: Use -O1 for debug builds
While O0 is great for debugging, the produced binary doesn't fit on the
feather52 anymore.
2018-02-12 22:50:07 +01:00
arturo182
9962ea6449 nrf: Change pin names on DKs to match silkscreen
Quite a big revamp of the make-pins script, it is now used on each
build to generate the pin files, so the static ones are not needed
anymore.
2018-02-12 22:41:19 +01:00
Kevin Townsend
0388a57f77
Merge pull request #614 from arturo182/nrf_pca10040
nrf: Fix pca10040 support
2018-02-12 16:31:14 +01:00
Kevin Townsend
5d99cd0a20
Merge pull request #601 from arturo182/nrf_cleanup
Nrf cleanup
2018-02-12 11:28:47 +01:00
Dan Halbert
c0e52f5fa2
Merge pull request #599 from tannewt/update_conf_py
Update conf.py for new ports and port location.
2018-02-11 13:50:42 -05:00
Limor "Ladyada" Fried
59ad16b506
Merge pull request #612 from tuupola/patch-1
Magnetometer values are also 3d vector of uT
2018-02-11 12:32:31 -05:00
Mika Tuupola
2a3de8d185
Magnetometer values are also 3d vector of uT
Unless I have misunderstood something design guide should have matching the definition with [Unified Sensor Driver](https://github.com/adafruit/Adafruit_Sensor/blob/master/Adafruit_Sensor.h#L111).
2018-02-11 23:15:01 +07:00
arturo182
f1d8a2d149 nrf: Fix memory misalignment during flash write 2018-02-10 14:43:58 +01:00
Scott Shawcroft
0397202288 m4 compiles, pwmout implemented but TC0 (A1) doesn't run 2018-02-09 17:21:06 -08:00
Scott Shawcroft
0398f308fa m4 compiles, pwmout implemented 2018-02-09 16:37:27 -08:00
Scott Shawcroft
190e7d629e WIP 2018-02-09 16:37:27 -08:00
Scott Shawcroft
e2d1e1e281
Merge pull request #610 from dhalbert/_etext_fix
Correct _etext location; clean up .ld files
2018-02-09 08:48:16 -08:00
Dan Halbert
b001c0711b Correct _etext location; clean up .ld files
1. Make _extext and _sidata coincide. Old _etext location did not include
.ARM.exidx sections, which were usually absent but not always. So flash
data was copied to RAM in wrong place.
2. Use decimal constants with "K" and "M" suffixes in .ld files instead
of hex constants, to make them easier to read and check for accuracy.
2018-02-09 11:31:18 -05:00
Scott Shawcroft
09bf06bc6b
More formal 2018-02-08 22:19:00 -08:00
Dan Halbert
6be6df6ae4
Merge pull request #609 from tannewt/bitbangio
Enable bitbangio now that we have digitalio.
2018-02-08 21:24:32 -05:00
Dan Halbert
af566e1135
Merge pull request #608 from tannewt/analog
ports/atmel-samd: Re-enable analogio
2018-02-08 21:23:07 -05:00
Scott Shawcroft
3e63f59867 Use write instead of set because it clears the bits before setting them. 2018-02-08 16:12:33 -08:00
Scott Shawcroft
aeae0090af Enable bitbangio now that we have digitalio.
Also remove a rogue neopixel_write.
2018-02-08 16:03:05 -08:00
Scott Shawcroft
82bc11585e ports/atmel-samd: Re-enable analogio
This introduces SAMD51 support and re-enables SAMD21 support.

Fixes #263
2018-02-08 14:48:08 -08:00
Scott Shawcroft
f0232c99c5 Changes based on feedback in #600. 2018-02-08 12:48:59 -08:00
Scott Shawcroft
0d25cbecd9 device not devices in nrf 2018-02-08 10:47:17 -08:00
Scott Shawcroft
3e79638b9c
Merge pull request #603 from siddacious/SAMD51G_support
Added SAMD51G support as per issue #597
2018-02-08 09:55:48 -08:00
Kevin Townsend
e5f0cfcf20
Merge pull request #604 from arturo182/nrf_bitbangio
nrf: Use the shared bitbangio module
2018-02-08 09:57:44 +01:00
Bryan Siepert
dfc2b82ede Added SAMD51G support as per issue #597 2018-02-07 21:23:25 -08:00
Kevin Townsend
71128b575f
Merge pull request #602 from arturo182/nrf_struct
nrf: Use the shared struct module
2018-02-08 00:56:31 +01:00
arturo182
a7cde0e49a nrf: Fix pca10040 support
Works with no SD, or s132 2.0.1 and 5.0.0.
2018-02-07 23:41:21 +01:00
arturo182
381f47bfb0 nrf: Only support SD 132 v2.0.1 and v5.0.0 and SD 140 v6.0.0 2018-02-07 22:44:27 +01:00
arturo182
8bfdaa89b9 nrf: Remove SAMD mentions carried over while copying files 2018-02-07 22:44:27 +01:00
arturo182
05bd5d4ee6 nrf: Remove nRF51 boards and files, update README 2018-02-07 22:44:13 +01:00
arturo182
29ae4cdd1c nrf: Fix building pca10056 without SD 2018-02-07 22:41:26 +01:00
arturo182
47c8e20e5a nrf: Make sure to not use SD functions when SD not available 2018-02-07 22:41:20 +01:00
Kevin Townsend
9d191f7f9f
Merge pull request #589 from arturo182/nrf_gamepad
nrf: Implement ticks, add gamepad module and example
2018-02-07 22:17:05 +01:00
Scott Shawcroft
15db02664d Clarify style of attribute comments in the Design Guide.
And update the core attributes to match the style.
2018-02-07 13:08:42 -08:00
Scott Shawcroft
620bfc64d2 Update conf.py for new ports and port location.
This reduces the build time of sphinx.
2018-02-07 13:07:57 -08:00
Scott Shawcroft
77c70c7e50
Merge pull request #598 from arturo182/comment_fix
shared-bindings: Fix incorrect code comments
2018-02-07 12:02:15 -08:00
arturo182
afaee7f782 nrf: Use the shared bitbangio module 2018-02-07 00:03:23 +01:00
arturo182
ff041caa52 shared-bindings: Fix incorrect code comments
Most likely caused by copy-paste.
2018-02-06 22:03:17 +01:00
Kevin Townsend
243279fdc3
Merge pull request #592 from arturo182/nrf_analogout
nrf: Cleanup AnalogOut and throw an exception in constructor
2018-02-06 21:31:07 +01:00
arturo182
021df5d3d3 nrf: Cleanup AnalogOut and throw an exception in constructor
The nRF MCUs do not support analog output. Throwing an exception
in the constructor will stop users from creating an instance of
the AnalogOut class.

In the future we can ifdef-out the whole class so it is not available
in the module at all.
2018-02-06 21:15:49 +01:00
Scott Shawcroft
6c5cb01b4a
Merge pull request #564 from deanm1278/master
DM: added write_readinto to bitbangio
2018-02-06 09:38:17 -08:00
Kevin Townsend
c433a82082
Merge pull request #573 from arturo182/master
nRF port improvements and pca10056 support
2018-02-06 15:26:40 +01:00
Scott Shawcroft
c33db95066
Merge pull request #582 from arturo182/gen_docs_name
docs: Update the name of the projects in generated docs
2018-02-05 12:39:42 -08:00
arturo182
668524b8e1 docs: Update the name of the projects in generated docs 2018-02-05 21:01:57 +01:00
arturo182
d1b2f69771 nrf: Use the shared struct module 2018-02-05 20:50:06 +01:00
arturo182
1de2ee6884 nrf: Implement ticks, add gamepad module and example 2018-02-05 20:48:25 +01:00
arturo182
76f5c01798 nrf: Get the port working on pca10056 (nRF52840) 2018-02-05 20:38:41 +01:00
dean
68309c3fac replace tabs with spaces 2018-02-05 10:44:29 -05:00
Scott Shawcroft
f4018bd6b6
Merge pull request #575 from arturo182/nrf_led
nrf: Fix missing LED GPIO initialization
2018-02-04 22:51:03 -08:00
Dan Halbert
b6114d1f75
Merge pull request #580 from ladyada/pirkey
pIRKey tested w/ hardware
2018-02-04 23:51:58 -05:00
ladyada
80ff1c49a6 pIRKey tested w/ hardware - basically a trinket or gemma with only dotstar LED + IR Receiver 2018-02-04 23:00:23 -05:00
arturo182
a64b5c84de nrf: Fix missing LED GPIO initialization
led_init was never called, which means the GPIOs were never set to
output and the LEDs didn't work.
2018-02-03 13:51:11 +01:00
arturo182
6731b47d5a nrf: Implement MCU temperature reading
If softdevice is available and enabled the SD function will be used,
otherwise use MCU registers.
2018-02-02 20:33:21 +01:00
arturo182
c6a542d166 nrf: Add SD 6.0.0-6.alpha to the download script 2018-02-02 20:31:47 +01:00
arturo182
fed9087274 nrf: Add flash section for fatfs for no SD pca10056 2018-02-02 20:31:47 +01:00
arturo182
616cbc6271 nrf: Use more generic header
It will include the mcu-specific header based on defines.
2018-02-02 20:31:47 +01:00
arturo182
d0b451be94 nrf: Use the right SPI registers on nRF52840 2018-02-02 20:31:47 +01:00
arturo182
a776c2a51c nrf: Fix errorneous indent
Otherwise we get the "recipe commences before first target" messsage.
2018-02-02 20:31:47 +01:00
Dan Halbert
dfd57e4ad4
Merge pull request #571 from ladyada/fix_itsybitsy_flash
memory type for alt flash fix
2018-02-02 09:47:52 -08:00
Dan Halbert
7c6adaa661
Merge pull request #567 from tannewt/ignore_docs_dir
Ignore docs directory when freezing as well.
2018-02-01 05:50:01 -08:00
Scott Shawcroft
737178e0d2 Ignore docs directory when freezing as well.
conf.py for Sphinx will be moved here.
2018-01-31 11:10:50 -08:00
dean
0e13aba2fe DM: fix sytling 2018-01-30 17:45:04 -05:00
Scott Shawcroft
d556ce291f
Merge pull request #563 from dhalbert/3.0_cpx_circuitpy_fail
CPX: typo in mpconfigboard.h broke CIRCUITPY
2018-01-30 14:42:00 -08:00
dean
a7f72eb2d8 DM: added write_readinto to bitbangio 2018-01-30 17:18:57 -05:00
Dan Halbert
eb49359aec CPX: typo in mpconfigboard.h broke CIRCUITPY 2018-01-30 15:48:22 -05:00
Dan Halbert
6085599963
Merge pull request #560 from dhalbert/3.0_issue_464_spi_baud_rate
Correct computation of SPI baud rate register value, and allow for the value to be 0.
2018-01-30 12:09:12 -08:00
Dan Halbert
cc87363234 documentation: caution on SPI clock speed for SAMD21 2018-01-30 14:31:20 -05:00
Dan Halbert
64831f4e7d add SPI.frequency to nRF 2018-01-30 13:23:00 -05:00
Dan Halbert
e550b024c5 atmel-samd: Correct computation of SPI baud rate.
all: Add .frequency read-only property for busio.SPI to return actual frequency.

Fix esp8266/posix_helpers.c, which was not up to date for the new
long-lived/short-lived heap allocation scheme.
2018-01-30 12:08:41 -05:00
ladyada
448d13e7b4 memory type for alt flash fix 2018-01-30 01:24:28 -05:00
Dan Halbert
a1e279a9d8
Merge pull request #556 from python-ugame/ugame10-3.0
Update ugame port for the final ugame10 version
2018-01-29 13:35:06 -08:00
Dan Halbert
36ffd31712
Merge pull request #557 from python-ugame/stage-lib
Bring back the _stage library
2018-01-29 13:29:58 -08:00
Radomir Dopieralski
d595a03bbd Update ugame port for the final ugame10 version
There have been multiple uGame prototypes with differences in the pins
and other details. This updates the board definition to fit the final
uGame 10 design.
2018-01-29 22:19:09 +01:00
Radomir Dopieralski
189c62ac7d Bring back the _stage library
I have tested the _stage module, and it works fine, so I'm including it
in he sources again. It's still disabled by default in the
mpconfigport.h.
2018-01-29 21:24:46 +01:00
Dan Halbert
271c4bead6
Merge pull request #552 from tannewt/flexible_parser
Make parsing more memory flexible.
2018-01-24 18:50:26 -08:00
Scott Shawcroft
a1254f1255
Merge pull request #551 from dhalbert/3.0_double_word_stack_align
3.0 double word stack align
2018-01-24 18:27:22 -08:00
Scott Shawcroft
dff744558b Make parsing more memory flexible.
The parser attempts to allocate two large (~512 byte) chunks up
front. If it couldn't, then it would error out. This change will
cause it to try allocating half the previous attempt until its down
to two copies. This is ok upfront because later code checks bounds
and tries to extend the allocation if needed.
2018-01-24 18:22:20 -08:00
Dan Halbert
efbf08266b make _estack be double-word aligned 2018-01-24 19:24:36 -05:00
Dan Halbert
302ad40fb2 Revert "alloca seems buggy on M4"
This reverts commit 4b1e9d8f92.
2018-01-24 19:24:36 -05:00
Dan Halbert
5de29acbd2
Merge pull request #547 from tannewt/alloc_long_lived
Introduce a long lived section of the heap.
2018-01-24 16:21:38 -08:00
Scott Shawcroft
aa0ce98b3e Fix the initial state and polish a couple comments. 2018-01-24 14:13:26 -08:00
Scott Shawcroft
da330f0cab Polish up the heap analysis script and make it more CLI friendly.
It can now render the heap layout over a sequence of ram dumps.

The mpy analysis is also better at parsing mpy files.
2018-01-24 10:33:46 -08:00
Scott Shawcroft
416abe33ed Introduce a long lived section of the heap.
This adapts the allocation process to start from either end of the heap
when searching for free space. The default behavior is identical to the
existing behavior where it starts with the lowest block and looks higher.
Now it can also look from the highest block and lower depending on the
long_lived parameter to gc_alloc. As the heap fills, the two sections may
overlap. When they overlap, a collect may be triggered in order to keep
the long lived section compact. However, free space is always eligable
for each type of allocation.

By starting from either of the end of the heap we have ability to separate
short lived objects from long lived ones. This separation reduces heap
fragmentation because long lived objects are easy to densely pack.

Most objects are short lived initially but may be made long lived when
they are referenced by a type or module. This involves copying the
memory and then letting the collect phase free the old portion.

QSTR pools and chunks are always long lived because they are never freed.

The reallocation, collection and free processes are largely unchanged. They
simply also maintain an index to the highest free block as well as the lowest.
These indices are used to speed up the allocation search until the next collect.

In practice, this change may slightly slow down import statements with the
benefit that memory is much less fragmented afterwards. For example, a test
import into a 20k heap that leaves ~6k free previously had the largest
continuous free space of ~400 bytes. After this change, the largest continuous
free space is over 3400 bytes.
2018-01-24 10:33:46 -08:00
Scott Shawcroft
a5bfbbc12a
Merge pull request #548 from dhalbert/3.0_alloca_problem_issue_521
alloca seems buggy on M4
2018-01-24 09:04:31 -08:00
Dan Halbert
1e94c4240c undo removal of alloca in builtinimport.c 2018-01-23 23:47:44 -05:00
Dan Halbert
4b1e9d8f92 alloca seems buggy on M4 2018-01-23 20:54:02 -05:00
Scott Shawcroft
56bd0789af Speed up qstr loading by using the stack to store a temporary
string instead of the heap.
2018-01-23 16:45:22 -08:00
Scott Shawcroft
6560596864 Switch to m_malloc_maybe and m_free to reduce our dependence on gc_alloc.
gc_alloc's API is changing and we shouldn't need to care about it.
So, we switch to m_malloc which has the default behavior we expect.
2018-01-23 16:45:07 -08:00
sommersoft
fe851fc15e re-added header inlcusion for system_get_chip_id 2018-01-23 13:50:24 -08:00
brentrubell
ab1f133667 issue #536 CPX change SPI pin designations to externally available pins (#540)
* issue #536 CPX

* switched pin assignment
2018-01-22 19:31:55 -08:00
Dan Halbert
544b9e4ba0
Merge pull request #541 from ladyada/itsybitsy_m0_fixes
Itsybitsy m0 fixes
2018-01-19 20:24:17 -08:00
ladyada
6b66c3b7a3 Add W25Q16 USON flash support, alternative flash type support for all boards 2018-01-19 23:00:04 -05:00
Tony DiCola
3b946f667e Add missing Feather M0 RadioFruit boards: RFM69, RFM9x. (#538) 2018-01-19 11:55:39 -08:00
Tony DiCola
4bd1d09d74 Add missing Feather M0 RadioFruit boards: RFM69, RFM9x (#539) 2018-01-19 11:53:47 -08:00
Scott Shawcroft
d16af1fbb2 Heap analysis tool (#529)
* random heap stuff

* Fix dicts

* Less hand coding. Now reads .map file for memory locations of stuff.

* Display qstr chunk contents.
2018-01-18 18:53:52 -08:00
sommersoft
44bc1711aa Added Unique ID Functions/Updated Support Matrix (#527)
shared_bindings/index.rst: updated Support Matrix format as discussed in PR #503 & Issue #448.

shared-bindings/microcontroller/Processor.c & .h: added UID lookup functionality for use with all ports. Fixes #462.
2018-01-18 11:39:11 -08:00
hathach
dfa6b6e9c5 add Ctrl+C for REPL over bleuart 2018-01-18 11:32:47 -08:00
Kevin Townsend
17ff1b2b46 Fixed build folder for travis 2018-01-18 11:32:47 -08:00
Kevin Townsend
d5af898999 Added note on REPL over NUS 2018-01-18 11:32:47 -08:00
hathach
5e6f113779 add REPL via bleuart 2018-01-18 11:32:47 -08:00
microbuilder
fda065ea89 Minor scan example cleanup 2018-01-18 11:32:47 -08:00
microbuilder
e2ebcbe514 Simple BLE scanner example 2018-01-18 11:32:47 -08:00
microbuilder
1276c12097 Enable SD132v2.0.1 BLE and UBLUEPY support by default 2018-01-18 11:32:47 -08:00
Dan Halbert
23eb79ca8f turn on MICROPY_ENABLE_SOURCE_LINE in nrf 2018-01-16 18:11:54 -08:00
Dan Halbert
01443a9619 Make chosen features consistent across all boards and ports atmel-samd, esp8266, and nrf.
1. Turn off MICROPY_CPYTHON_COMPAT, which includes a number of minor CPython compatibility features,
most of which have workarounds, but uses up significant flash.
2. Turn on MICROPY_PY_SYS_MAXSIZE, which implements sys.maxsize.
3. Turn on MICROPY_CAN_OVERRIDE_BUILTINS, which implements "_" as the most recent value in the REPL,
and also enables redefining builtins.
2018-01-16 18:11:54 -08:00
Radomir Dopieralski
8251abba8a
Merge pull request #520 from pewpew-game/2.x
Fix example for gamepad
2018-01-11 18:44:50 +01:00
Radomir Dopieralski
0ff128ec03 Fix example for gamepad
The example code for the gamepad module would skip detected
button presses in the code that waits for a button to be released,
because it would run it even when no button is pressed.

Also updated the example pin names to not use RX and TX.
2018-01-11 17:06:53 +01:00
Scott Shawcroft
d201ac20af Fix sensor table. (#517)
RST is very picky about spacing.
2018-01-08 20:38:43 -05:00
Dan Halbert
2d5483082d Checked wrong RCAUSE bit for system_reset 2018-01-08 15:45:07 -08:00
Dan Halbert
1805bcac76 enable use of CIRCUITPY_CANARY_WORD (needed for 2.2 merge) (#513)
enable use of CIRCUITPY_CANARY_WORD (needed for 2.2 merge)

RCAUSE (reset cause) is fetched differently in SAMD21 vs SAMD51
2018-01-08 09:44:06 -08:00
Dan Halbert
b1b89c409e
Merge pull request #512 from tannewt/gcc7
Switch to GCC7. The ARM release from Q4.
2018-01-05 17:41:50 -05:00
Scott Shawcroft
7e390886fb Switch to GCC7. The ARM release from Q4. 2018-01-04 21:36:50 -08:00
Dan Halbert
5cb361cf1f
Merge pull request #510 from dhalbert/3.0_merge_2.2.0
merge from 2.2.0 + fix up board defs
2018-01-04 20:59:59 -05:00
Dan Halbert
d0cc8abd31 revise boards/ files for 3.0. All now compiled (but I don't have all to test). 2018-01-04 14:16:53 -05:00
Dan Halbert
19d353ccd9 nrf: fixups for changes from 2.2
1. bidirectional SPI support (@microbuilder please check)
2. slight changes in DigitalIO types
3. placeholders (not implemented yet) for single/double-click bootloader support
2018-01-03 16:50:57 -05:00
Dan Halbert
d8686cc002 use correct LD_FILE in mpconfigboard.mk for boards with external flash 2018-01-03 16:49:38 -05:00
Dan Conley
7d3bec46ae Changing magnetic attribute in design guide (#502) 2018-01-02 20:03:20 -08:00
Dan Halbert
065e82015f merge from 2.2.0 + fix up board defs 2018-01-02 21:25:41 -05:00
Dan Halbert
ce81c8dda9 Avoid gcc 7.2.1 compiler issues in nlr_push() (#506)
Avoid gcc 7.2.1 compiler issues in nlr_push()
2018-01-02 13:41:34 -08:00
Scott Shawcroft
3be456629b
Merge pull request #496 from microbuilder/nrf52_3.x
nRF52 update with internal file system support
2018-01-02 12:09:20 -08:00
Scott Shawcroft
a1a02c5427
Conditionally install build deps to speed up Travis 2018-01-02 11:54:11 -08:00
Dan Halbert
d9ae709045
Merge pull request #505 from dhalbert/2.2_update_cpx_frozen_libs
update CPX frozen modules to latest versions
2017-12-30 12:16:27 -05:00
Dan Halbert
9a50fa4a50 update CPX frozen modules to latest versions 2017-12-30 11:22:29 -05:00
Dan Halbert
18f3dfcd90
Merge pull request #503 from sommersoft/master
shared-bindings/index.rst: added audiobusio
2017-12-30 08:53:27 -05:00
sommersoft
881fa8e2b9 shared-bindings/index.rst: added audiobusio
shared-bindings/index.rst: added `aduiobusio` to Support Matrix. Used `audiobusio/_init_.c` to verify applicable ports; SAMD21 was the only one listed...ESP8266 wasn't. This fixes issue #448.
2017-12-30 01:36:23 -06:00
hathach
a997ab258e spacing clean up 2017-12-29 23:07:32 +07:00
hathach
6c8d60afc0 Merge branch 'nrf52_3.x' of github.com:microbuilder/circuitpython into nrf52_3.x 2017-12-29 22:44:40 +07:00
hathach
7f79a0e78c added Ctrl+C interrupt 2017-12-29 22:43:31 +07:00
hathach
a021a9e5f0 update uart to remove dependency on machine uart module 2017-12-29 21:25:43 +07:00
microbuilder
7a69382f36 Added script to download SD files 2017-12-28 22:41:38 +01:00
microbuilder
5da455e398 Added feather52 to travis build list 2017-12-28 22:35:03 +01:00
microbuilder
178925640b Moved comment to avoid abbreviation 2017-12-27 21:13:39 +01:00
microbuilder
f1e1699c9f Added feather52 to travis build 2017-12-27 13:54:16 +01:00
Dan Halbert
94e645defa
Merge pull request #499 from dhalbert/2.x_frozen_module_version_info
Add git version info to frozen modules.
2017-12-24 14:58:42 -05:00
Dan Halbert
31be20744d preprocess_frozen_modules.py: yet more Python 3.4 compatibility changes 2017-12-24 14:29:03 -05:00
Dan Halbert
644ad74ea1 preprocess_frozen_modules.py: make compatible with Python 3.4. 2017-12-24 13:49:58 -05:00
Dan Halbert
2dcb2f06cb Add git version info to frozen modules. 2017-12-23 23:46:19 -05:00
Dan Halbert
e44fbca272 PDMIn: Make last DMA buffer be exactly the right length. 2017-12-23 09:35:45 -08:00
Dan Halbert
7918714043 certain odd-sized PDMIn record buffers would crash or not fill properly 2017-12-23 09:35:45 -08:00
microbuilder
a14bfeba64 Merge branch 'nrf52_3.x' of github.com:microbuilder/circuitpython into nrf52_3.x 2017-12-22 12:03:41 +01:00
microbuilder
60feb1a9aa Added .gitattributes for ZIP bin support 2017-12-22 12:03:25 +01:00
Kevin Townsend
b3928288f0
Add files via upload 2017-12-22 12:02:15 +01:00
Kevin Townsend
8dcd9cc35c
Delete feather52_bootloader_5.0.0_s132_single.zip 2017-12-22 12:00:41 +01:00
Kevin Townsend
de72f7fabb
Delete feather52_bootloader_2.0.1_s132_single.zip 2017-12-22 12:00:34 +01:00
microbuilder
ad7cd0399d Added 'mp_raise_NotImplementedError(NULL)' 2017-12-22 11:48:07 +01:00
microbuilder
b9e229f739 Removed old code snippets 2017-12-22 11:47:15 +01:00
microbuilder
ace872bf11 Added 'mp_raise_NotImplementedError(NULL)' 2017-12-22 11:45:51 +01:00
microbuilder
a3289c3c2f Added D13 for standard LED examples 2017-12-22 11:42:33 +01:00
microbuilder
393bc9bce9 Removed leftover code snippet 2017-12-22 11:39:40 +01:00
microbuilder
c868b66f5b Minor typo removed in path 2017-12-22 11:33:17 +01:00
microbuilder
99dd0a61ff Spaces to tabs 2017-12-22 11:29:39 +01:00
Dan Halbert
2d2735c9d4 Error in PDMIn filter loop. 2017-12-21 13:59:16 -08:00
microbuilder
60a23f0fb6 nRF52 update with internal file system support 2017-12-21 13:49:14 +01:00
Dan Halbert
e671fa2f7a
Merge pull request #495 from tannewt/fix_baud_reset
Fix 1200 baud reset.
2017-12-20 18:32:55 -05:00
Scott Shawcroft
39f30aeec6 Fix 1200 baud reset.
Fixes #494
2017-12-20 15:17:06 -08:00
Dan Halbert
ec1d29f4ae check twice for bad filesystem 2017-12-20 09:02:30 -08:00
Dan Halbert
23dd19757a Wait 2 secs before creating new filesystem in case power is jittery 2017-12-20 09:02:30 -08:00
Dan Halbert
22bbb6ab86 Don't include examples directories in frozen libraries 2017-12-20 09:00:45 -08:00
Dan Halbert
7f8972b842
Merge pull request #489 from adafruit/test_2.x
Add root .readthedocs.yml config
2017-12-19 13:11:22 -05:00
Scott Shawcroft
e3df0104b0 Add root readthedocs.yml file. 2017-12-19 09:24:12 -08:00
Kattni
aca4b60d28
Merge pull request #486 from dhalbert/2.x_lis3dh_3.0.0
update CPX frozen Adafruit_CircuitPython_LIS3DH to library version 3.0.0
2017-12-15 13:42:09 -05:00
Dan Halbert
054cac3e4b update CPX frozen Adafruit_CircuitPython_LIS3DH to library version 3.0.0 2017-12-15 13:25:46 -05:00
Dan Halbert
0c0a09aeb6 Speed up AnalogIn.value. 2017-12-15 09:56:39 -08:00
Kattni
6d603e462d
Merge pull request #483 from dhalbert/2.x
bring CPX frozen modules up to date
2017-12-14 18:38:05 -05:00
Dan Halbert
a37cc171e8 bring CPX frozen modules up to date 2017-12-14 17:43:59 -05:00
sommersoft
36ec29d4e8 Documentation Updates (mcu.delay() and Design Guide) (#481)
/docs/design_guide: added links to firmware build learning guides for SAMD21 & ESP8266. Changes were placed in the "Adding native modules" section, since that seemed to me the best place based on target audience.

Updated documentation for `delay()` which fixes #243.
2017-12-14 10:02:43 -08:00
Dan Halbert
f2ad1a3679 Write version info to boot_out.txt. 2017-12-14 09:59:40 -08:00
Dan Halbert
43650b6896 Fix PDMIn MEMS microphone support (#479)
Changes:

    * New faster filter loop, by @ladyada. New filter coefficients as well.
    * Turn on microphone clock when PDMIn object is created, and run it all the time, so the user code doesn't have to wait for microphone startup, which can be 10ms or even 100ms.
    * Wait for microphone startup when PDMIn is first created, based on new optional parameter microphone_startup in seconds (takes a float).
    * record() returns number of samples actually recorded, so you can see if it's not keeping up.
    * Fix buffer overflow errors when buffer size was not a multiple of 16 or something like that.
    * Tweak a few peripheral settings.
    * Minimum sampling frequency is now 16kHZ or so, because 8kHz runs microphone at only 0.5MHz, which is too slow for many mics.

Note: I tried 128x oversampling instead of 64x, but the code cannot keep up at 24kHz or above sampling. 128x would reduce the high-frequency noise by 6db.
2017-12-13 10:12:49 -08:00
Dan Halbert
00bf60db28
Merge pull request #477 from tannewt/always_test_enumerate
Always test enumerate. This will ensure that all supported ports include it
2017-12-13 09:57:04 -05:00
Scott Shawcroft
8a50fe8982 Always test enumerate. This will ensure that all supported ports
include it and therefore support our drivers that use it.

Related to https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/18
2017-12-11 17:07:28 -08:00
Dan Halbert
3c49f53eac
Merge pull request #474 from tannewt/mcu_reset
Introduce reset mechanics to microcontroller.
2017-12-05 19:20:26 -05:00
Scott Shawcroft
a91e1cb682 Fix a couple spelling errors. 2017-12-05 16:04:47 -08:00
Scott Shawcroft
b4d3699047 Introduce reset mechanics to microcontroller.
This allows one to configure how a subsequent reset will behave and
also trigger a reset.

Fixes #350 and fixes #173
2017-12-05 14:50:58 -08:00
Dan Halbert
78db6c32cd
Merge pull request #473 from dhalbert/2.x_esp8266_bidi_spi
add SPI.write_readinto() to esp8266 port
2017-12-05 16:41:09 -05:00
Dan Halbert
2900ed22e7 add SPI.write_readinto() to esp8266 port 2017-12-05 16:03:22 -05:00
Dan Halbert
e75fd0e166 add SPI.write_readinto() - bidirectional SPI 2017-12-05 11:17:16 -08:00
Dan Halbert
9ac6890d20 update CPX frozen modules to latest versions 2017-12-03 20:31:01 -08:00
Christopher Hiller
b31c2ea748 fix markdown-styled link in design_guide.rst 2017-12-02 22:43:48 -08:00
Dan Halbert
93978bcd25
Merge pull request #465 from dhalbert/3.0_spi_flash
Support SPI flash chips for CIRCUITPY, using non-DMA SPI for now.
2017-11-28 13:59:16 -05:00
Dan Halbert
72c911be97 Support SPI flash chips for CIRCUITPY, using non-DMA SPI for now. 2017-11-27 21:00:24 -05:00
Stewart
fb1dcd326d ports/atmel-samd: feather_m0_adalogger readme updates (#460)
- Added D4 and moved associated SD_CS so that they are paired within list
- Added D7 and SD_CD which is the SD Card Detect pin
- Added D8 and GREEN_LED
- Added RED_LED associated with D13
- Added Setup information regarding arm complier packages
- README - Updated to reflect that feather_m0_adalogger microSD is supported
2017-11-26 21:10:01 -08:00
Stewart
a41272dcd3 atmel-samd: Added missing adalogger pins (#461)
- Added D4 and moved associated SD_CS so that they are paired within list
- Added D7 and SD_CD which is the SD Card Detect pin
- Added D8 and GREEN_LED
- Added RED_LED associated with D13
- Added Setup information regarding arm complier packages
2017-11-26 21:08:27 -08:00
Stewart Colborne
5eb7958425 ports/atmel-samd/boards/feather_m0_adalogger/pins: Added missing pins
- Added D4 and moved associated SD_CS so that they are paired within list
- Added D7 and SD_CD which is the SD Card Detect pin
- Added D8 and GREEN_LED
- Added RED_LED associated with D13
2017-11-25 22:00:32 -08:00
Kevin Townsend
ce75a21e50 Revert "Supervisor REPL support for ports/nrf/boards/feather52"
This reverts commit 92113dde81.
2017-11-23 13:38:38 +01:00
Kevin Townsend
92113dde81 Supervisor REPL support for ports/nrf/boards/feather52 2017-11-23 09:22:11 +01:00
mrmcwethy
a38d8948b3 M4 status LED flashing with no main.py present #447 Initialized stack variable 2017-11-22 22:57:50 -08:00
Dan Halbert
d016bcdf82
Merge pull request #455 from kattni/pdmin-doc-update
Resolved formatting issue in doc
2017-11-22 22:13:04 -05:00
Kattni
4902f0937f Resolved formatting issue in doc 2017-11-22 21:44:18 -05:00
mrmcwethy
e0eae5cb2a Enable the Neopixel status light on Metro M0 Express and Feather M0 Express boards 2017-11-21 14:39:56 -08:00
Dan Halbert
26862f8a52
Merge pull request #453 from pewpew-game/stage
Fix display orientation for _stage module
2017-11-21 17:19:02 -05:00
Radomir Dopieralski
1276ce59c3 Fix display orientation for _stage module
Initially this library assumed the display is rotated by 90 degrees, so
the x and y were swapped. I'm now handling the display rotation in the
driver, with the hardware display settings, so the library should use
a sane order of x and y. This way it will work with any display
orientation.
2017-11-21 23:12:55 +01:00
Dan Halbert
6f662e9bbc samd51 peripheral clocks were defined as 12MHz, but were really 120MHz 2017-11-20 21:11:30 -08:00
Kattni
1d6bf8e04a Updated frequency minimum requirements in docs and examples (#444)
Updated frequency minimum requirements in docs and examples
2017-11-19 22:19:22 -08:00
Limor "Ladyada" Fried
27d5f27831 Add ItsyBitsy M0 support with 1MB flash support (#445) 2017-11-17 09:25:36 -08:00
Dan Halbert
a9f75a71c5
Merge pull request #443 from dhalbert/3.0_spi
non-DMA SPI working; adding this now for testing; will continue with DMA
2017-11-16 19:28:24 -05:00
Dan Halbert
312444bbd2 non-DMA SPI working; adding this now for testing; will continue with DMA
Also, fixed pin mappings for rev B Metro M4:
swap PA12 and PA13 on SPI 2x3 header
swap A3 and A5

Comment out all frozen modules in CPX again to make room while waiting
for SPI flash.
2017-11-16 19:09:35 -05:00
Dan Halbert
ea4b08de20
Merge pull request #441 from tannewt/samd_reenable
Create supervisor module.
2017-11-16 15:05:35 -05:00
Scott Shawcroft
99153569f4 tests: Fixup tests for 3.x on Rosie 2017-11-16 10:56:20 -08:00
Scott Shawcroft
ecc47d5258 Create supervisor module.
It can control autoreload and the rgb status led.
2017-11-16 09:04:17 -08:00
Dan Halbert
2d34450872
Merge pull request #440 from tannewt/toolchain_included
Speed up Travis
2017-11-16 01:00:03 -05:00
Scott Shawcroft
b1998cb0b1 Speed up the Travis build.
This does two major things:

1. It stores the arm gcc in the repo. The download from the PPA was taking between 2 and 7 minutes.
2. It splits each board into a separate job so they are built in parallel.
2017-11-15 21:31:21 -08:00
Dan Halbert
065a319100 Update info about erasing CIRCUITPY to include flash erasers for non-… (#427)
Update info about erasing CIRCUITPY to include flash erasers for non-Express boards.
2017-11-14 07:58:26 -08:00
Dan Halbert
2d0d1ef5f2
Merge pull request #431 from microbuilder/master
Added feather52 DFU support
2017-11-10 07:42:15 -05:00
Kevin Townsend
237cc954e3 Fixed feather52 DFU support 2017-11-10 09:17:24 +01:00
Dan Halbert
9564f7b90e
Merge pull request #425 from tannewt/align_usb
atmel-samd: USB mass storage tweaks.
2017-11-09 17:19:33 -05:00
Dan Halbert
5e04780148
Merge pull request #430 from dhalbert/restore_182a946_msc
Unrevert the revert below, in preparation for PR #425 (tannewt/circuitpython, align_usb branch).
2017-11-09 17:17:18 -05:00
Dan Halbert
609ebe5cad Unrevert the revert below, in preparation for PR #425 (tannewt/circuitpython, align_usb branch).
Roll back to b4fc464a4d:

git revert -m 1 -n b82cfcb064
git revert -n 0e6928b087
git revert -n bfe7e055e9
git commit
2017-11-09 16:23:59 -05:00
Dan Halbert
b82cfcb064
Merge pull request #424 from dhalbert/revert_182a946_msc
Revert "atmel-samd: Tweak mass storage code to finish read sooner."
2017-11-08 23:38:13 -05:00
Scott Shawcroft
0e6928b087 atmel-samd: Align SCSI responses. 2017-11-08 22:00:17 -05:00
Scott Shawcroft
ef9a7f262a atmel-samd: Turn off nvmctl cache and rework active_read. 2017-11-08 16:01:38 -08:00
Scott Shawcroft
971bd7e9a6 atmel-samd: Improve MSC reliability.
* Be more liberal with critical sections to ensure ordering.
* Correct usb_busy so that it is busy when no errors occur on
  transfer. I believe it worked before because it would be false
  momentarily until a second transfer was attempted and a busy
  error was returned, therefore setting usb_busy to true. That
  risks the first "failed" transfer completing before a second one
  is attempted.
2017-11-08 12:42:50 -08:00
Scott Shawcroft
7a901cfccd atmel-samd: Align SCSI responses. 2017-11-08 10:47:22 -08:00
Dan Halbert
bfe7e055e9 Revert "atmel-samd: Tweak mass storage code to finish read sooner."
This reverts commit 182a946b0e.
2017-11-08 11:17:10 -05:00
bsiepert
b4fc464a4d support for doubled file extensions ala issue #383 (#415)
Fixes #383
2017-11-07 23:00:44 -08:00
Dan Halbert
1c12e9aaba
Merge pull request #418 from tannewt/usb_pids
atmel-samd: Update Feather M0 Express USB PID
2017-11-07 20:56:07 -05:00
Dan Halbert
d183b66e52
Merge pull request #419 from tannewt/2.x_usb_pids
atmel-samd: Update Feather M0 Express USB PID in 2.x
2017-11-07 20:55:24 -05:00
Scott Shawcroft
aa817de7f0 atmel-samd: Update Feather M0 Express USB PID
This makes it different from the bootloaders and Arduino.

Fixes #324.
2017-11-07 14:32:58 -08:00
Scott Shawcroft
3cb5e7ea58 atmel-samd: Update Feather M0 Express USB PID
This makes it different from the bootloaders and Arduino.
2017-11-07 14:26:37 -08:00
Dan Halbert
9060df5af6 DigitalInOut: Use pin value % 32 to accomodate PORTB and up.
Fixes #407.
2017-11-07 10:08:34 -08:00
Radomir Dopieralski
216fcedfbb Add a _stage module (#398)
This is a C module with some low-level functions required for the
CircuitPython "stage" library. It provides support for fast
rendering of tile grids and sprites on SPI-based RGB displays.
2017-11-07 10:05:25 -08:00
Dan Halbert
7292984204 Implement busio.I2c.
* Added asf4_conf/samd*/hpl_sercom_config.h
* Adjusted clocks in peripheral_clk_config.h.
* Put some frozen libs back in CPX for testing.
* Implement common-hal I2C
* Add samd*_peripherals.h in parallel with samd*_pins.h for common
  functions and data.
* Store SERCOM index in pins table for convenience.
* Canonicalize some #include guard names in various .h files.

simpler reset of SERCOMs; remove unused routine
2017-11-07 09:59:54 -08:00
Dan Halbert
048f0f0e4f
Merge pull request #414 from tannewt/new_opt
Turn on -Os and tweak neopixel for new code output.
2017-11-06 21:53:16 -05:00
Dan Halbert
d9a19c4c65
Merge pull request #413 from dhalbert/fix_round
Fix round().
2017-11-06 21:39:02 -05:00
Dan Halbert
ddc8570137 Fix round(). Don't split a statement with a #pragma. It breaks the compiled output. 2017-11-06 20:09:23 -05:00
Scott Shawcroft
182a946b0e atmel-samd: Tweak mass storage code to finish read sooner. 2017-11-06 16:30:11 -08:00
Scott Shawcroft
a8ee0012d7 atmel-samd: Enable -Os for SAMD51 and update neopixel accordingly. 2017-11-06 16:30:11 -08:00
Jerry Needell
e2867eb4e9 enable framebuf for ESP8266 2017-11-06 14:54:54 -08:00
jerryneedell
3c1486a5c7 esp8266 enable framebuf (#408)
enable framebuf for ESP8266
2017-11-06 11:00:03 -08:00
Dan Halbert
5ff641772a
Merge pull request #405 from tannewt/remove_double_csw
atmel-samd: Stop double CSW after MSC reads
2017-11-03 20:34:10 -04:00
Scott Shawcroft
4140b3b944 atmel-samd: Stop double CSW after MSC reads
This explicit zero length xfer leads to a second CSW packet. If
another read was started between the two CSWs then the host gets
confused and resets the device.

On reads, the CSW is automatically sent when we reply with the
total length. Writes must do it manually so they can wait for the
disk to flush the data.
2017-11-03 15:08:55 -07:00
Dan Halbert
4869599f89
Merge pull request #404 from pewpew-game/fix-spi-empty-read-write
Allow empty reads and writes for busio.SPI
2017-11-03 12:40:15 -04:00
Radomir Dopieralski
78f6c2232c Allow empty reads and writes for busio.SPI
This is mostly for convenience, so that user code doesn't
need to add additional checks.

Also, bring the bitbangio into compatibility with busio wrt. empty
buffers.
2017-11-03 17:33:37 +01:00
Dan Halbert
e7d6df7f7c
Merge pull request #403 from tannewt/fix_swclk51
atmel-samd: Fix SAMD51 SWCLK reset so we can connect the JLink
2017-11-02 17:56:34 -04:00
Scott Shawcroft
c90a2d9b42 atmel-samd: Fix SAMD51 SWCLK reset so we can connect the JLink
while CircuitPython is running.
2017-11-02 14:00:38 -07:00
Dan Halbert
e267b2c666
Merge pull request #402 from tannewt/update_deps
Update deps: ASF, micropython and usb_descriptor.
2017-11-02 16:20:13 -04:00
Scott Shawcroft
a49200d5cb tools: Switch to using separate usb_descriptor repo. 2017-11-02 13:00:50 -07:00
Scott Shawcroft
7b393bc406 Merge tag 'v1.9.3'
Introduction of ports subdirectory where all ports are moved to

The main change in this release is the introduction of a "ports/"
subdirectory at the top-level of the repository, and all of the ports are
moved here.  In the process the "stmhal" port is renamed to "stm32" to
better reflect the MCU that it targets.  In addition, the STM32 CMSIS and
HAL sources are moved to a new submodule called "stm32lib".

The bytecode has changed in this release, compared to the previous release,
and as a consequence the .mpy version number has increased to version 3.
This means that scripts compiled with the previous mpy-cross must be
recompiled to work with this new version.

There have also been various enhancements and optimisations, such as:
check for valid UTF-8 when creating str objects, support for reverse
special binary operations like __radd__, full domain checking in the math
module, support for floor-division and modulo in the viper emitter,
and addition of stack overflow checking when executing a regex.

The stm32 port sees improved support for F7 MCUs, addition of a new board
B_L475E_IOT01A based on the STM32L475, and support for the Wiznet W5500
chipset along with improved socket behaviour.

A detailed list of changes follows.

py core:
- objstr: startswith, endswith: check arg to be a string
- nlrx86,x64: replace #define of defined() with portable macro usage
- objtype: handle NotImplemented return from binary special methods
- objtype: mp_obj_class_lookup: improve debug logging
- map: remove unused new/free functions
- make m_malloc_fail() have void return type, since it doesn't return
- modstruct: in struct.pack, stop converting if there are no args left
- modstruct: check and prevent buffer-read overflow in struct unpacking
- modstruct: check and prevent buffer-write overflow in struct packing
- nlrthumb: get working again on standard Thumb arch (ie not Thumb2)
- objfloat: fix binary ops with incompatible objects
- obj: fix comparison of float/complex NaN with itself
- objtype: implement fallback for instance inplace special methods
- objtuple: properly implement comparison with incompatible types
- objstr: add check for valid UTF-8 when making a str from bytes
- objlist: properly implement comparison with incompatible types
- runtime0.h: move relational ops to the beginning of mp_binary_op_t
- runtime0.h: move MP_BINARY_OP_DIVMOD to the end of mp_binary_op_t
- objtype: make sure mp_binary_op_method_name has full size again
- runtime0.h: put inplace arith ops in front of normal operations
- builtinhelp: simplify code slightly by extracting object type
- runtime: implement dispatch for "reverse op" special methods
- nlrx86: fix building for Android/x86
- builtinhelp: change signature of help text var from pointer to array
- runtime.h: change empty mp_warning macro so var-args are non empty
- modbuiltins: implement abs() by dispatching to MP_UNARY_OP_ABS
- {objfloat,objcomplex}: optimise MP_UNARY_OP_ABS by reusing variables
- mpconfig.h: add note that using computed gotos in VM is not C99
- objstr: strip: don't strip "\0" by default
- objexcept: prevent infinite recursion when allocating exceptions
- stream: remove unnecessary checks for NULL return from vstr_add_len
- vstr: raise a RuntimeError if fixed vstr buffer overflows
- vm: use lowercase letter at start of exception message
- persistentcode: define mp_raw_code_save_file() for any unix target
- add config option to print warnings/errors to stderr
- objfloat: support raising a negative number to a fractional power
- objset: simplify set and frozenset by separating their locals dicts
- objset: check that RHS of a binary op is a set/frozenset
- objset: include the failed key in a KeyError raised from set.remove
- objtype: change type of enum-to-qstr table to uint16_t to save space
- objstr: make empty bytes object have a null-terminating byte
- mpprint: only check for null string printing when NDEBUG not defined
- objtype: clean up unary- and binary-op enum-to-qstr mapping tables
- persistentcode: bump .mpy version number to version 3
- bc: update opcode_format_table to match the bytecode
- modmath: add full checks for math domain errors
- modmath: convert log2 macro into a function
- formatfloat: don't print the negative sign of a NaN value
- formatfloat: use standard isinf, isnan funcs instead of custom ones
- modbuiltins: use existing utf8_get_char helper in builtin ord func
- emitnative: implement floor-division and modulo for viper emitter
- objtype: use CPython compatible method name for sizeof
- objtype: fit qstrs for special methods in byte type
- objtype: define all special methods if requested
- objtype: introduce MICROPY_PY_ALL_INPLACE_SPECIAL_METHODS

extmod:
- modubinascii: only include uzlib/tinf.h when it's really needed
- modussl_mbedtls: allow to compile with MBEDTLS_DEBUG_C disabled
- machine_pinbase: put PinBase singleton in ROM
- re1.5: upgrade to v0.8.2, adds hook for stack overflow checking
- modure: add stack overflow checking when executing a regex
- uos_dupterm: update uos.dupterm() and helper funcs to have index
- uos_dupterm: swallow any errors from dupterm closing the stream
- vfs: replace VLA in proxy func with small, static sized array
- modussl: add finaliser support for ussl objects
- modussl_mbedtls: allow to compile with unix coverage build

lib:
- add new submodule, stm32lib containing STM32 CMSIS and HAL source
- embed/abort_: use mp_raise_msg helper function
- libm: fix tanhf so that it correctly handles +/- infinity args
- libm: remove implementation of log2f, use MP_NEED_LOG2 instead
- axtls: update, support for SSL_EAGAIN return code
- berkeley-db-1.xx: update, allow to override MINCACHE, DEFPSIZE

drivers:
- memory/spiflash: change from hard-coded soft SPI to generic SPI
- display/ssd1306.py: improve performance of graphics methods
- nrf24l01: make nRF24L01 test script more portable
- display/ssd1306: implement SSD1306_I2C poweron method
- display/ssd1306: make poweron() work the same with SSD1306_SPI
- wiznet5k: improve the performance of socket ops with threading
- wiznet5k: get low-level W5500 driver working

tools:
- upip: upgrade to 1.2.2
- pyboard: use repr() when quoting data in error messages
- pyboard: update docstring for additional device support

tests:
- object_new: better messages, check user __new__() method
- class_new: add checks for __init__ being called and other improvements
- class_new: add another testcase for __new__/__init__ interaction
- class_inplace_op: test for inplace op fallback to normal one
- run-bench-tests: update locations of executables, now in ports/
- class_reverse_op: test for reverse arith ops special methods
- run-tests: skip class_inplace_op for minimal profile
- run-tests: fix copy-paste mistake in var name
- cpydiff: add cases for locals() discrepancies
- extmod: add test for ure regexes leading to infinite recursion
- extmod: add test for '-' in character class in regex
- run-tests: close device under test using "finally"
- net_inet: update tls test to work with CPython and incl new site

unix port:
- rename modsocket.c to modusocket.c
- modusocket: remove #if MICROPY_SOCKET_EXTRA code blocks
- enable MICROPY_PY_REVERSE_SPECIAL_METHODS

stm32 port:
- modmachine: make machine.bootloader() work when MPU is enabled
- modmachine: improve support for sleep/deepsleep on F7 MCUs
- compute PLL freq table during build instead of at run time
- modmachine: for F7 MCU, save power by reducing internal volt reg
- boards/pllvalues.py: make script work with both Python 2 and 3
- Makefile: use lib/stm32lib instead of local cmsis and hal files
- remove cmsis and hal files, they are now a submodule
- Makefile: automatically fetch stm32lib submodule if needed
- update to new STM Cube HAL library
- fix clock initialisation of L4 MCUs
- rename stmhal port directory to stm32
- remove unused usbd_msc.c file
- boards: change remaining stm32f4xx_hal_conf.h to unix line ending
- boards: change linker scripts to use "K" instead of hex byte size
- boards: fix I2C1 pin mapping on NUCLEO_F401RE/F411RE boards
- i2c: when scanning for I2C devices only do 1 probe per address
- modnwwiznet5k: release the GIL on blocking network operations
- boards: add new board B_L475E_IOT01A based on STM32L475
- make-stmconst.py: make sure mpz const data lives in ROM
- timer: make pyb.Timer() instances persistent
- mpconfigport.h: add configuration for max periphs on L4 series
- usbdev: make the USBD callback struct const so it can go in ROM
- usbdev: change static function variable to non-static
- usbdev: put all CDC state in a struct
- usbdev: put all HID state in a struct
- usbdev: simplify CDC tx/rx buffer passing
- usbdev: simplify HID tx/rx buffer passing
- usbdev/core: add state parameter to all callback functions
- usbdev: put all state for the USB device driver in a struct
- usbdev: simplify pointers to MSC state and block dev operations
- usbdev: merge all global USB device state into a single struct
- usbdev: make device descriptor callbacks take a state pointer
- usbdev: move all the USB device descriptor state into its struct
- timer: enable ARPE so that timer freq can be changed smoothly
- modnwwiznet5k: get the IP address of an established socket
- boards: fix typos in stm32f767_af.csv table
- usbd_cdc_interface: don't reset CDC output buf on initialisation
- modnwwiznet5k: implement WIZNET5K.isconnected() method
- modusocket: make getaddrinfo() work when passed an IP address
- modusocket: return OSError(-2) if getaddrinfo fails
- mpconfigport.h: add MICROPY_THREAD_YIELD() macro
- modnwwiznet5k: add support for W5500 Ethernet chip
- modnwwiznet5k: increase SPI bus speed to 42MHz
- modnwwiznet5k: implement stream ioctl for the Wiznet driver
- mphalport: improve efficiency of mp_hal_stdout_tx_strn_cooked
- make uos.dupterm() conform to specs by using extmod version

cc3200 port:
- enable micropython.kbd_intr() method
- use standard implementation of keyboard interrupt

esp8266 port:
- rename axtls_helpers.c to posix_helpers.c
- posix_helpers: set ENOMEM on memory alloc failure
- set DEFPSIZE=1024, MINCACHE=3 for "btree" module
- esp_mphal: send data in chunks to mp_uos_dupterm_tx_strn
- modnetwork: add "bssid" keyword arg to WLAN.connect() method
- modules/webrepl_setup: add info about allowed password length

zephyr port:
- Makefile: revamp "test" target after ports were moved to ports/
- use CONFIG_NET_APP_SETTINGS to setup initial network addresses
- switch to interrupt-driven pull-style console

pic16bit port:
- add definition of SEEK_SET to unistd.h

docs:
- pyboard/tutorial: add "timeout=0" to UART in pass-through example
- more xrefs to "MicroPython port" in glossary
- library/network: fix ref to "socket" module (should be "usocket")
- machine.Signal: improve style/grammar and add usage example
- library: add description of "index" parameter to uos.dupterm()
- library/micropython: fix typo in RST formatting
- library/framebuf.rst: generalise constructor to all colour formats
- btree: describe page caching policy of the underlying implementation
- esp8266/tutorial: update neopixel with example of using 4 bbp
- library/network: clarify usage of "bssid" arg in connect() method
- pyboard/quickref: add info for Switch, RTC, CAN, Accel classes
- pyboard/tutorial: update now that yellow LED also supports PWM
- esp8266/quickref: add quickref info for RTC class
- library: add missing cross-ref links for classes in pyb module
- library/network: update docs to state that W5500 is supported
- uselect: document one-shot polling mode
- usocket: elaborate descriptions
- usocket: document inet_ntop(), inet_pton()
- library/network: add dhcp_hostname parameter
- reference/isr_rules: minor typo correction
- ussl: fix module name refs and use "MicroPython port" term
- esp8266/general: add section on TLS limitations
- usocket: document that settimeout() isn't supported by all ports
- ure: add "|" (alternative) to the list of supported operators
- reference/isr_rules.rst: add tutorial on use of micropython.schedule()

travis:
- use --upgrade when pip is installing cpp-coveralls
- update build command now that stm32 Wiznet config has changed

examples:
- hwconfig_console: add .on()/.off() methods

all:
- convert mp_uint_t to mp_unary_op_t/mp_binary_op_t where appropriate
- convert remaining "mp_uint_t n_args" to "size_t n_args"
- make new ports/ sub-directory and move all ports there
- update Makefiles and others to build with new ports/ dir layout
- remove inclusion of internal py header files
- use NULL instead of "" when calling mp_raise exception helpers

README:
- update "Dependencies" section
- add explicit section on contributing
- add gcc and arm-none-eabi-newlib to list of required components

.gitattributes:
- remove obsolete entries for stmhal/hal, stmhal/cmsis
- add entries for files that will move to ports/ dir
2017-11-02 12:41:50 -07:00
Scott Shawcroft
3cfb06042e atmel-samd: update to October 2017 ASF4. 2017-11-02 12:19:50 -07:00
Radomir Dopieralski
c066e4da8b Add board definition for the uGame handheld console
This is a board definition for the uGame project:
https://hackaday.io/project/27629-game

uGame is a small handheld game console programmable with
CircuitPython. The hardware part of the project is pretty
much stable by now.
2017-11-01 15:22:04 -07:00
Dan Halbert
b6587b3b60
Merge pull request #396 from tannewt/gc_crash
py: Prevent crash with LTO.
2017-11-01 17:52:25 -04:00
Scott Shawcroft
6370b5225a py: Prevent crash with LTO.
The protected single function call saves stack values and LTO
breaks the expectations of nlr_push and pop.
2017-11-01 14:32:06 -07:00
Dan Halbert
dcede575ff
Merge pull request #394 from tannewt/neopixel_delay_fix
atmel-samd: Fix the neopixel delay method so it handles overflow better.
2017-11-01 15:31:46 -04:00
Scott Shawcroft
a8dae22ae9 atmel-samd: Fix the neopixel delay method so it handles overflow better. 2017-11-01 11:56:54 -07:00
Dan Halbert
3b17980822
Merge pull request #391 from tannewt/longint_usb_fix
Enable LONGINT on M4 + usb fix
2017-11-01 14:19:17 -04:00
Scott Shawcroft
cfbb74ffe7 atmel-samd: Reorder mpconfigport.mk and mpconfigboard.mk includes.
This allows mpconfigport.mk to set this conditionally based on
$(CHIP_FAMILY).
2017-11-01 11:01:34 -07:00
Dan Halbert
0076a3c868
Merge pull request #393 from tannewt/m4_neopixel
Now with more blinky!!!
2017-11-01 08:17:41 -04:00
Scott Shawcroft
f4c8256345 atmel-samd: Add TX/RX led support for Metro M4. 2017-10-31 22:39:16 -07:00
Scott Shawcroft
54f2b698ce atmel-samd: remove infinite loop if USB MSC read fails. 2017-10-31 22:38:52 -07:00
Scott Shawcroft
3177e10e9e atmel-samd: Add samd21 neopixel support.
Also, fix and enable the status neopixel.

Fixes #264
2017-10-31 22:38:09 -07:00
Dan Halbert
dc3f13d13f
Merge pull request #392 from tannewt/slice_assign
atmel-samd: Turn on slice assignment in all builds.
2017-10-31 21:59:17 -04:00
Tony DiCola
d023879bea atmel-samd: Update and enable neopixel_write for ASF4, tested on SAMD21 only. 2017-10-31 16:06:36 -07:00
Scott Shawcroft
15dcc7011c atmel-samd: Turn on slice assignment in all builds.
This costs 376 bytes on a Trinket M0 leaving 33412 bytes free.

Fixes #193
2017-10-31 15:57:56 -07:00
Scott Shawcroft
9db321d505 atmel-samd: Enable longints for M4 builds.
Fixes #110
2017-10-31 15:46:42 -07:00
Scott Shawcroft
268bf6f99e atmel-samd: Fix non-DEBUG USB cdc.
I believe the issue was that LTO exacerbates a problem where a CDC
read is initiated but fails and leaves pending_read true
preventing further reads.
2017-10-31 15:43:45 -07:00
Radomir Dopieralski
8c7571a75d Create the build directory before running gen_usb_descriptor
Otherwise it fails to create the file in that directory.
2017-10-31 13:35:22 -07:00
Scott Shawcroft
8c1f5427bc atmel-samd: Add empty line for RST docs
Right now calcsize is being grouped with the doc above: https://circuitpython.readthedocs.io/en/latest/shared-bindings/struct/__init__.html
2017-10-30 18:57:28 -07:00
Dan Halbert
123c2262e9
Merge pull request #385 from tannewt/usb_write_protection
Usb write protection + fixes
2017-10-30 21:36:23 -04:00
Dan Halbert
f738996164 Allow writing buffer of length zero to I2C device; it can be used to poll for existence. 2017-10-30 18:32:36 -07:00
Scott Shawcroft
4aeef100f6 atmel-samd: More USB polish
* Introduce a python script to generate the USB descriptor instead of
  a bunch of C macros. In the future, we can use this dynamically in
  CircuitPython.
* Add support for detecting read-only mass storage mounts.

Fixes #377
2017-10-30 18:29:20 -07:00
mrmcwethy
1893669833 calcsize90 should be documented now 2017-10-27 23:25:00 -07:00
Dan Halbert
949a8f5043
Merge pull request #382 from dhalbert/master
Read serial input as a background task so we can check for the interrupt character.
2017-10-27 17:37:57 -04:00
Dan Halbert
8e45dc041f Read serial input as a background task so we can check for the interrupt character. 2017-10-27 17:32:13 -04:00
Dan Halbert
10b3a90189 Check INTERNAL_LIBM make flag in a safer way. 2017-10-27 17:32:13 -04:00
Dan Halbert
7f88ba3b26 Revert "Allow main.py to be interrupted by ctrl-C" (#381)
* Revert "Read serial input as a background task so we can check for the interrupt character."

This reverts commit 046092e8a2.

* Revert "Check INTERNAL_LIBM make flag in a safer way."

This reverts commit 2b80add22f.
2017-10-27 17:32:13 -04:00
Dan Halbert
2487226dff Read serial input as a background task so we can check for the interrupt character. 2017-10-27 17:32:13 -04:00
Dan Halbert
f0a12d9620 Check INTERNAL_LIBM make flag in a safer way. 2017-10-27 17:32:13 -04:00
Dan Halbert
0e83f8c752
Revert "Allow main.py to be interrupted by ctrl-C" (#381)
* Revert "Read serial input as a background task so we can check for the interrupt character."

This reverts commit 046092e8a2.

* Revert "Check INTERNAL_LIBM make flag in a safer way."

This reverts commit 2b80add22f.
2017-10-27 17:14:57 -04:00
Dan Halbert
046092e8a2 Read serial input as a background task so we can check for the interrupt character. 2017-10-27 17:11:09 -04:00
Dan Halbert
2b80add22f Check INTERNAL_LIBM make flag in a safer way. 2017-10-27 17:11:09 -04:00
Dan Halbert
e7e8e0a95d Sync with https://github.com/adafruit/asf4/pull/3 2017-10-26 09:56:02 -07:00
Dan Halbert
4232a0a196 Sync with https://github.com/adafruit/asf4/pull/3 2017-10-26 09:30:59 -04:00
Scott Shawcroft
ee18b5cbab Don't use ERR_ABORTED. (#375) 2017-10-26 09:08:29 -04:00
Scott Shawcroft
d613776f0d atmel-samd: Add support for ERR_ABORTED to indicate medium not present. 2017-10-25 21:02:01 -04:00
Scott Shawcroft
ab7da9353a atmel-samd: Stop hanging on usb write when a terminal isn't connected by checking DTR status. 2017-10-25 21:02:01 -04:00
Carter Nelson
db918da5f0 updated I2C example (#371) 2017-10-25 17:32:00 -07:00
Dan Halbert
ca1a9b9a10 Merge pull request #369 from tannewt/nrf2_merge
Nrf52 merge
2017-10-25 20:16:50 -04:00
Scott Shawcroft
bd7abcda97 shared-bindings: Check that I2C and SPI reads and writes are given a buffer of at least 1. (#370)
Fixes #358
2017-10-25 17:28:23 -04:00
Scott Shawcroft
b31d673207 tests: Capture stderr output as well. 2017-10-25 11:43:02 -07:00
Scott Shawcroft
5a59a10bf2 Add log folding to Travis outout. 2017-10-25 11:01:43 -07:00
Scott Shawcroft
d2ddf36c1d shared-bindings: Use unary_op type. 2017-10-25 10:52:03 -07:00
Limor "Ladyada" Fried
c966976591 update light/lux and eCO2 + TVOC 2017-10-25 12:32:39 -04:00
Scott Shawcroft
00766e43a0 Merge commit 'f57be61' into nrf2_merge 2017-10-24 23:26:41 -07:00
Scott Shawcroft
60e9b8f70a tools: Correct ports directory name 2017-10-24 23:06:02 -07:00
Scott Shawcroft
d665334e94 esp8266: Fix includes 2017-10-24 23:05:20 -07:00
Scott Shawcroft
2c26f35429 Re-add atmel submodules. 2017-10-24 22:39:08 -07:00
Scott Shawcroft
73c15dcf8b Merge commit 'f869d6b2e339c04469c6c9ea3fb2fabd7bbb2d8c' into nrf2_merge
This is prep for merging in the NRF5 pull request.
2017-10-24 22:31:16 -07:00
Scott Shawcroft
d43564f854 atmel-samd: Use our own CDC output cache because the internal (#366)
atmel-samd: Use our own CDC output cache because the internal
cache is only used when the memory isn't aligned even if we're
going to change the memory immediately after.
2017-10-24 12:57:03 -07:00
Scott Shawcroft
ee1092fcaf atmel-samd: Update metro m4 USB PID. (#365) 2017-10-24 14:47:43 -04:00
Dan Halbert
6df99b5d0e Merge 2.1.0 changes into master. 2017-10-23 15:26:36 -07:00
Dave Astels
e08241de41 Supersized Feather M0 Express for 2.x (replace the 2Mbyte SPI flash with an 8Mbyte chip) (#355)
Add supersized (8Mbyte SPI flash) FeatherM0Express support
2017-10-22 20:56:10 -07:00
Radomir Dopieralski
1c97b7f4df Gracefully reset the gamepad module
If a soft reset happens while the gamepad module is scanning for button
presses, there is a moment when the pins get de-initialized, but the
gamepad module is still trying to read them, which ends in a crash.
We can avoid it by disabling scanning on reset.

(cherry picked from commit 470a23d4c9345785bbaa830fdc036b4e982496c6)

Conflicts:
	atmel-samd/main.c
2017-10-22 20:54:10 -07:00
Scott Shawcroft
a1be272b1e atmel-samd: Correct the UF2 bootloader offset when converting the bin to uf2. 2017-10-22 12:39:01 -07:00
Radomir Dopieralski
9bcc1057ca Gracefully reset the gamepad module (#356)
If a soft reset happens while the gamepad module is scanning for button
presses, there is a moment when the pins get de-initialized, but the
gamepad module is still trying to read them, which ends in a crash.
We can avoid it by disabling scanning on reset.
2017-10-21 22:39:20 -04:00
mrmcwethy
bb008cdbc9 First attempt to move py/modmath.c to shared-bindings/math 2017-10-21 10:34:25 -07:00
Scott Shawcroft
536bcb42c9 atmel-samd: Re-enable pin reset. Fixes #352 (#353) 2017-10-20 07:49:33 -04:00
Scott Shawcroft
a800a25e88 atmel-samd: Switch Metro M4 Express to SAMD51J19. (#351) 2017-10-19 22:39:16 -04:00
Josh Gadeken
3ba5ba6e66 shared-bindings/storage/__init__.c: Change remount() readonly to kw arg (#286).
The readonly arg to storage.remount() is now a keyword arg that
defaults to False. To maintain backwards compatibility, readonly
can be passed as a positional arg or keyword arg.
2017-10-19 17:11:30 -07:00
Scott Shawcroft
535c0059d7 atmel-samd: Turn on SAMD51 bootloader build layout. (#348) 2017-10-18 16:07:38 -04:00
Michael McWethy
b41cbe9256 CircuitPython now has struct instead of ustruct (#302)
Added struct module to shared-bindings and shared-module.  removed ustruct
2017-10-18 12:50:20 -07:00
Scott Shawcroft
88c6d2349b atmel-samd: Update asf4 to include USB fix for SAMD51. 2017-10-18 15:46:26 -04:00
Scott Shawcroft
f31a7b70e8 atmel-samd: Fix CDC now that its clear its async. 2017-10-18 15:46:26 -04:00
Scott Shawcroft
51cd4da76e atmel-samd: Add mass storage support.
Fixes #260
2017-10-18 11:52:51 -07:00
Andon
c80e1908c5 Added Trinket to README.md (#344)
Added Trinket to README.md

Despite shipping with CircuitPython pre-installed, the Trinket M0 is
absent from the README.md file. This fixes that issue.
2017-10-17 13:00:10 -07:00
Dan Halbert
a1409d1432 redo time.monotonic() to avoid double precision 2017-10-17 10:02:16 -07:00
Dan Halbert
4f4ddf00dc Set DRVSTR on output pins to strong (more current capability). 2017-10-16 22:13:09 -07:00
jerryneedell
c6a15f76ad esp8266: add neopixel_write - remove neopixel.py (#339)
For ESP8266, remove frozen module neopixel.py and add neopixel_write to mpconfigport.h. Use  [Adafruit_CircuitPython_Neopixel/neopixel.py](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel) instead.
2017-10-16 18:29:42 -07:00
Dan Halbert
e2ce87e250 Merge pull request #336 from tannewt/2.x
esp8266: Correct SPI functionality when write_value is provided.
2017-10-16 18:43:28 -04:00
Dan Halbert
2148211314 Merge pull request #337 from tannewt/fix_pin_reset
esp8266: Actually disable pins when reset on reload.
2017-10-16 18:42:22 -04:00
Scott Shawcroft
c216c2876f esp8266: Actually disable pins when reset on reload. 2017-10-16 15:13:09 -07:00
Scott Shawcroft
6c7d35c40c esp8266: Correct SPI functionality when write_value is provided.
It used to introduce extra clocks to the bus rather than changing the
value output.

This fixes SD cards.
2017-10-16 14:54:23 -07:00
Dan Halbert
5f6df7f54a More io capability on non-Express boards, so call *_reset() routines
appropriately to match board capabilities.
2017-10-16 12:51:55 -07:00
Dan Halbert
1709fbb65a Turn on pulseio now that there's room.
https://github.com/adafruit/circuitpython/issues/325#issuecomment-336733842
2017-10-16 12:51:55 -07:00
Dan Halbert
274fff4226 Use internal libm for all atmel-samd boards. 2017-10-16 12:20:33 -07:00
Dan Halbert
dbd3f15168 1. Use lib/libm for small (non-Express builds) to gain back a lot of flash space.
2. Add flag INTERNAL_LIBM to mpconfigboard.mk files to signal using lib/libm.
3. Fix floating-point warnings in lib/libm
4. Turn off -finline-limit, no longer needed due to 1.
5. Add explicit flags for SPI_FLASH_FILESYSTEM and INTERNAL_FLASH_FILESYSTEM
to mpconfigboard.mk files, so they don't need to know the name of the .c file
that implements those. Makefile takes care of checking the flags and including
the right files.
2017-10-16 12:20:33 -07:00
Dan Halbert
8f3be0a037 Reinit ADC completely on each call to AnalogIn.value. 2017-10-15 16:59:23 -07:00
Dan Halbert
cfd1809b2b Suppress A0 (PA02) as a TouchIn-capable pin on CPX. 2017-10-15 16:57:37 -07:00
Dan Halbert
6e8fa8b3c9 Merge pull request #320 from dhalbert/master
merge 2.x changes into master; touch up Makefile CFLAGS logic
2017-10-13 14:51:09 -04:00
Ayke van Laethem
f57be619fc ports/nrf: Add compile switch to disable VFS.
This saves about 17kB.
2017-10-13 18:29:41 +02:00
Dan Halbert
3c54e2c03c TEMPORARY changes to get build to work on all boards. Make space on CPX; turn off -finline-limit 2017-10-12 21:54:38 -04:00
Dan Halbert
fabaa2ec30 merge 2.x changes into master; touch up Makefile CFLAGS logic 2017-10-12 20:10:31 -04:00
Ayke van Laethem
61b6faed15 ports/nrf: Use --gc-sections to reduce code size
This saves about 6-7kB.
2017-10-12 21:44:55 +02:00
Dan Halbert
922006dd59 Don't create a new filesystem if we restart in safe mode. (#319) 2017-10-12 14:35:39 -04:00
Dan Halbert
b7591cfd19 Replace asf4 tree with submodule repo adafruit/asf4, branch circuitpython. 2017-10-12 10:55:15 -07:00
Scott Shawcroft
80654779e1 atmel-samd: Add support for internal filesystems. (#311)
* atmel-samd: Add support for internal filesystems.

This allows us to re-enable `os`. `random` is also enabled because
it solely depends on `os`.

Fixes #266. Its also a pre-requisite for #260.

* atmel-samd: Update SAMD51 linker script comments and MICROPY_MAX_STACK_USAGE enabling.
2017-10-10 14:36:00 -04:00
Ayke van Laethem
d18bf876e3 ports/nrf: Add WT51822-S4AT board. 2017-10-08 23:23:11 +02:00
Dan Halbert
ef65ee78c5 Freeze libraries needed by adafruit_circuitplayground library into firmware.
This saves a lot of RAM. Fixes #287.
Also fixed compilation of frozen_mpy.c to use supplied make rule rather than
builtin rule (supplied rule suppresses printing out the gcc command line).
2017-10-08 10:54:46 -06:00
Alex Vasylenko
9a9584aee0 Update pwm.rst
replace reference to non-existent `time.sleep_ms()`
2017-10-08 10:53:25 -06:00
Glenn Ruben Bakke
a414199793 ports/nrf: Update Makefile and README.md after moving port to new directory 2017-10-04 21:54:01 +02:00
Glenn Ruben Bakke
831759faaa ports/nrf: Align help.c builtin help text to use correct type after upmerge with upstream master. 2017-10-04 21:52:08 +02:00
Glenn Ruben Bakke
44e2cb415f ports/nrf: Moving nrf51/52 port to new ports directory 2017-10-04 21:46:48 +02:00
Glenn Ruben Bakke
bcab2ba0a8 ports/nrf: Upmerging port with upstream master 2017-10-04 21:45:04 +02:00
Glenn Ruben Bakke
4468731e3d nrf: Aligning with upstream the use of nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, ...) 2017-10-04 20:49:49 +02:00
glennrub
795116b432 nrf/modules/random: Backport of microbit random number generator module
Backport of micro:bit random module.
Plugged into the port as a general random module for all nrf51/nrf52 targets. Works both with and without Bluetooth LE stack enabled.

Behavioral change: seed() method has been removed, as the use of RNG peripheral generates true random sequences and not pseudo-random sequences.
2017-10-04 20:49:03 +02:00
glennrub
f49b202e7d nrf/hal/rng: Adding HAL driver for accessing RNG peripheral
The driver also takes care of calling the Bluetooth LE stack for random values if the stack is enabled. The reason for this is that the Bluetooth LE stack take ownership of the NRF_RNG when enabled. Tolerate to enable/disable on the fly, and will choose to use direct access to the peripheral if Bluetooth LE stack is disabled or not compiled in at all.

Driver has been included in the top Makefile, and will not be compiled in unless nrf51_hal_conf.h/nrf52_hal_conf.h defines HAL_RNG_MODULE_ENABLED (1).
2017-10-04 20:45:40 +02:00
glennrub
8c0bbb983b nrf/boards: Adding Arduino Primo board support (#88)
* nrf: Adding Arduino Primo board support

* nrf: Adding arduino_primo to target boards table in readme.md

* nrf/boards: Activating pyb.LED module for arduino_primo board.

* nrf/boards: Removing define not needed for arduino_primo

Updating arduino_primo board mpconfigboard.h. Removing a define
that was wrongly named. Instead of renaming it, it was removed as
it was never used.
2017-10-04 20:44:11 +02:00
Glenn Ruben Bakke
863a5c1734 nrf: Add support for floating point on nrf52 targets.
Duplicating pattern for detecting location of libm, libc and libgcc
from teensy port. Activating MICROPY_FLOAT_IMPL (FLOAT) for nrf52 targets
and adding libs into the compile. For nrf51 targets it is still set to
NONE as code grows to much (about 30k).

Some numbers on flash use if MICROPY_FLOAT_IMPL is set to
MICROPY_FLOAT_IMPL_FLOAT and math libraries are enabled (lgcc, lc, lm).

nrf51:
======

without float support:
   text	   data	    bss	    dec	    hex	filename
 144088	    260	  30020	 174368	  2a920	build-pca10028/firmware.elf

with float support:
   text	   data	    bss	    dec	    hex	filename
 176228	   1336	  30020	 207584	  32ae0	build-pca10028/firmware.elf

nrf52:
======

without float support:
   text	   data	    bss	    dec	    hex	filename
 142040	    356	  36236	 178632	  2b9c8	build-pca10040/firmware.elf

with float support:
   text	   data	    bss	    dec	    hex	filename
 165068	   1436	  36236	 202740	  317f4	build-pca10040/firmware.elf
2017-10-04 20:42:27 +02:00
Radomir Dopieralski
f4981677b0 Add a gamepad module for handling buttons in the background. (#295)
The `GamePad` singleton monitors buttons in the background to make sure a button press is never missed and debouncing happens consistently.
2017-10-03 13:35:57 -07:00
Dan Halbert
c478c10923 Do not allow a *io object to be used after deinit().
Fixes #278, #277, #276, #275.
2017-10-03 12:07:17 -07:00
Radomir Dopieralski
c2bb9e2eb5 Add board file for the hacked Trinket M0 Haxpress (#303)
Add a hacked Tinket M0 Haxpress board definition

Based on https://daveastels.com/2017/09/01/trinket-m0-express-hack/
2017-10-03 11:24:48 -07:00
Dan Halbert
7f74412882 Make touch more sensitive. Add .raw_value and .threshold attributes. 2017-10-02 11:15:51 -07:00
Scott Shawcroft
211b44e630 Update time to use SysTick (#274)
* atmel-samd: Add time back using the SysTick counter in the core. Fixes #261

* Switch to SysTick_Config
2017-09-29 16:58:13 -04:00
Scott Shawcroft
bac841df61 atmel-samd: Fix CDC by making sure we define (#294)
CONF_USB_COMPOSITE_CDC_ACM_EN before including ASF4 files.
2017-09-29 16:03:05 -04:00
Dan Halbert
b2dcc5bb6c reset pins on PDMIn deinit(). Fixes #275. 2017-09-29 08:54:05 -07:00
Scott Shawcroft
0bbb7a8199 Add support for patching newer ASF4 code. (#292)
* atmel-samd: Support patching after updating ASF4.

This makes it possible to automatically fix newer code.

* atmel-samd: Update ASF4 to include flash APIs for SAMD51.

This is the first automatic update that has caused a few deletions
where code was previously copied instead of moved.

This is a prerequisite for #260.
2017-09-28 23:33:44 -04:00
Scott Shawcroft
8466d760f9 atmel-samd: Port baudrate reset to asf4 so we no longer hose Rosie.
We still won't be able to run tests but we will be reset into the
bootloader to test other stuff.
2017-09-27 21:58:54 -04:00
Scott Shawcroft
6839fff313 Move to ASF4 and introduce SAMD51 support. (#258)
* atmel-samd: Remove ASF3. This will break builds.

* atmel-samd: Add ASF4 for the SAMD21 and SAMD51.

* Introduce the supervisor concept to facilitate porting.

The supervisor is the code which runs individual MicroPython VMs. By
splitting it out we make it more consistent and easier to find.

This also adds very basic SAMD21 and SAMD51 support using the
supervisor. Only the REPL currently works.

This begins the work for #178.
2017-09-22 21:05:51 -04:00
Jerry Needell
3ad01ddb04 Add Ananlog Pin aliases to trinket_m0 pins.c 2017-09-19 21:36:06 -07:00
Dan Halbert
75c3be37ac Re-initialize ADC before every AnalogIn read. (#255)
`microcontroller.cpu.temperature` uses different ADC settings, and caused
AnalogIn to give wrong answers. AnalogIn can no longer assume it's the
only user of the ADC.
2017-09-16 13:06:23 -04:00
Asher Lieber
5aa8922038 add set_rgb_status_brightness (#246)
Add set_rgb_status_brightness() via `samd.rgb_status_brightness`.

Fixes #162.
2017-09-12 12:09:22 -07:00
mrmcwethy
dd72fe6945 updated the http reference for max7219 to use the readthedocs from the adafruit cirtcuitpython area instead of the micropython area 2017-09-07 22:07:45 -07:00
KurticusMaximus
ca1f3e5fb7 Added DotStar to line 72 2017-09-06 14:53:31 -07:00
Dan Halbert
e0ddd528c8 Add Processor to microcontroller documentation TOC (#237) 2017-09-06 17:50:00 -04:00
Scott Shawcroft
6467e3d40b shared-bindings: Prevent check_lock from being optimized away. (#240)
Fixes #229
2017-09-06 17:49:30 -04:00
Dan Halbert
acbca44512 Ctrl-C was causing a soft-reset in REPL.
Also allow an immediate ctrl-c in `input()`.
2017-09-06 14:47:23 -07:00
Scott Shawcroft
c0159c5e80 atmel-samd: Ensure MTB is off in case we ran a debug build before
a non-debug build.
2017-09-06 11:56:41 -07:00
Scott Shawcroft
6baacf46b7 py: Only load frozen modules when the filename has the prefix. (#235)
* py: Only load frozen modules when the filename has the prefix.

This allows one to override a built-in module by loading a newer
version onto the file system.

* Unbreak mpys
2017-09-05 22:01:17 -04:00
Carol Willing
f9c54665f7 Reduce depth in toc 2017-09-05 16:57:53 -07:00
Carol Willing
5c742e0058 rename some captions 2017-09-05 16:57:53 -07:00
Carol Willing
9df090f66b collapse board listings 2017-09-05 16:57:53 -07:00
Carol Willing
1f71851d3a Add a micropython section and edit drivers doc 2017-09-05 16:57:53 -07:00
Carol Willing
676a5b399e Structure contents to be user facing 2017-09-05 16:57:53 -07:00
Scott Shawcroft
6d9d683443 atmel-samd: Enable 8-bit audio recording support even though it'll be
quiet. Also update the examples.

Fixes #226
2017-09-05 16:37:02 -07:00
Dan Halbert
e1eb1802a6 esp8266: restore machine module 2017-09-02 18:54:27 -07:00
Scott Shawcroft
7932df02ab Style tweaks based on @willingc's feedback. 2017-09-01 13:54:29 -07:00
Scott Shawcroft
544f5c3fa4 docs: Add beginnings of troubleshooting doc.
Fixes #172. Related to #214.
2017-09-01 13:54:29 -07:00
Dan Halbert
a0d0b27faf Fix issue #207, esp8266 file operations problems (#222)
The frozen module `_boot.py` was not being loaded on restart
because `pyexec_frozen_module()` did not know about the new `.frozen`
pseudo-directory. Updated lower-level routine to look in the right place.
Also made ".frozen" and related values be `#define`s.
2017-09-01 16:12:26 -04:00
Radomir Dopieralski
c01bf678fd Merge pull request #223 from tannewt/baudrate_fix
atmel-samd: Remember SPI baudrate.
2017-09-01 21:56:44 +02:00
Scott Shawcroft
e2f39a8d93 atmel-samd: Remember SPI baudrate.
This prevents the SERCOM from blipping the data line on each
transaction and therefore fixes #219.
2017-09-01 12:44:52 -07:00
Scott Shawcroft
4d0dc4b298 py: Add temporary expanded mpy mismatch message for switch to 2.0.0. (#218)
Fixes #214
2017-08-31 15:27:50 -04:00
Scott Shawcroft
17ec02a77d atmel-samd: Add SPI pin names to the Trinket. Fixes #213 (#217) 2017-08-31 15:05:43 -04:00
Dan Halbert
59faa05a10 Add ".frozen" to end of sys.path, so that internal frozen modules are visible on boot. 2017-08-31 11:38:00 -07:00
Dan Halbert
fdb97eda09 Add microcontroller.cpu.temperature, for use as a simple sensor on minimal boards. (#211)
* Add microcontroller.cpu, the sole instance of microcontroller.Processor.
microcontroller.cpu.frequency is the clock frequency, in Hz.
microcontroller.cpu.temperature is the reading from the internal temperature sensor, in Celsius. None if not available.

* Squeeze firmware size by using -finline-limit. Otherwise non-Express builds were slightly too big.

* Update submodules.

* Fix documentation glitches
2017-08-31 13:48:30 -04:00
Carol Willing
f3cd6b0232 Update README (#212)
* Add README navigation and minor edits
* Simplify links
* Clean up markdown style warnings
* Update links
* Edit grammar and style
2017-08-29 23:42:17 -07:00
Scott Shawcroft
aa700a8b42 shared-bindings: Clarify that UART.read() is slow. (#209) 2017-08-29 14:06:59 -04:00
Scott Shawcroft
447a4b1ecd Merge pull request #208 from adafruit/merge-v1.9.2
Merge MicroPython v1.9.2
2017-08-28 13:59:26 -07:00
Dan Halbert
c679c80c71 Modernize module and class static dicts; update freetouch 2017-08-27 15:02:50 -04:00
Scott Shawcroft
4e63d55d8d Fix blinky example
Thanks to @Kurticus and @scruffynerf from [discord](http://adafru.it/discord) for finding it.
2017-08-26 22:24:17 -07:00
Dan Halbert
ef61b5ecb5 Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master.
cpx build compiles and loads and works in repl; test suite not run yet
esp8266 not tested yet
2017-08-25 22:17:07 -04:00
Scott Shawcroft
266be30777 atmel-samd: Introduce a nvm module for non-volatile byte-level memory access. (#203)
* atmel-samd: Introduce a nvm module for non-volatile byte-level memory access.

This allows for persisting small configuration values even when the file system
is read-only from CircuitPython.

Fixes #160

* Review feedback:
* Add tests.
* Fix non-zero index.
* Fix len()
2017-08-25 16:00:27 -04:00
Dan Halbert
dd1c4fc8c7 Workaround readthedocs bug 2017-08-23 15:28:53 -07:00
Scott Shawcroft
774bf0cf0a tools: Always upload to Rosie from Travis. (#200)
This allows Rosie to automatically work for commits to forks.
2017-08-23 12:22:08 -07:00
Dan Halbert
74cfdeb316 Added ability to freeze multiple directories; freeze neopixel library in cpx build (#199)
Reworked frozen module support: clean up makefiles and handle multiple directories.
Modules to freeze are included as git submodules.

Add neopixel to circuitplayground express build.

Fixes #56
2017-08-23 11:05:59 -07:00
Scott Shawcroft
16ef611b0b shared-bindings: Check that extra args aren't provided to digitalio.DigitalInOut on construction. (#189) 2017-08-22 15:54:01 -04:00
Scott Shawcroft
f570b53d44 shared-bindings: Update DigitalIO.pull docs and validate that third (#188)
state is None and not anything.

Fixes #187
2017-08-22 15:41:04 -04:00
Scott Shawcroft
45a31b1c2a Fix ADC input def for PB07. (#195)
Fixes #194
2017-08-22 15:19:05 -04:00
Tony DiCola
c281b44cbd Update docs README to mention requirement for recommonmark dependency. 2017-08-16 15:23:42 -07:00
Scott Shawcroft
e00b3190ed Have the build script upload artifacts to Rosie when travis is building a pull request. (#191) 2017-08-15 18:45:27 -04:00
Scott Shawcroft
fab634e3ee Turn on Rosie CI testing to test new builds on real hardware.
This introduces a skip_if module that can be used by tests to
determine when they should be skipped due to the environment.

Some tests have been split in order to have finer grained skip
control.
2017-08-11 17:16:13 -07:00
Scott Shawcroft
f6a702538a py: Pretend frozen files are stored under .frozen rather than the empty path.
This makes it clear when frozen modules are loaded as opposed to the empty path
which represents the current working directory. Furthermore, by splitting the two
apart this allows one to control in what order frozen modules are loaded.

This is a prerequisite for #56.
2017-08-10 15:46:17 -07:00
Scott Shawcroft
5c32a5aa6a py: Remove mpy-cross depend when making frozen mpy's because we don't know the state under which its being built. Instead, build it before running the subsequent make. 2017-08-10 15:44:47 -07:00
Scott Shawcroft
42156484ae shared-bindings/atmel-samd: Fix and improve trigger duration timing on PulseIn.resume. 2017-08-10 11:55:34 -07:00
Daniel Tralamazza
785fb6928b nrf: add a note for running the nrfjprog tool on Linux, and touch up the make sd comment 2017-08-08 18:45:42 +02:00
Scott Shawcroft
37c72adc0f docs: Add link to SD card driver. 2017-08-07 17:55:39 -07:00
Scott Shawcroft
2e155bcc31 shared-bindings: Add stub documentation of storage.VfsFat so other docs can link to it. 2017-08-07 16:20:19 -07:00
Scott Shawcroft
509d5223ea atmel-samd: Fix crash when fs mount fails and fix mounting internal flash. It was broken by the update to 1.9.1. Related to #82 2017-08-07 15:56:10 -07:00
Daniel Tralamazza
b53b691314 Merge remote-tracking branch 'upstream/master' 2017-08-08 00:45:58 +02:00
Daniel Tralamazza
3e0d3d283d nrf: clean compiler warnings 2017-08-08 00:43:21 +02:00
Scott Shawcroft
6ace744667 esp8266: Introduce multiterminal module for managing a secondary
serial connection such as WebREPL.

Fixes #181.
2017-08-07 14:30:11 -07:00
Dan Halbert
5d509ecace Allow max stack checking to be used with -flto build by determining top
of stack in a different way.
2017-08-05 17:48:16 -07:00
Dan Halbert
91d4cdb476 Increase heap size at the expense of stack size, from 16k to 16k+4k. 2017-08-05 17:47:00 -07:00
Glenn Ruben Bakke
c017f2d267 nrf/drivers/bluetooth: Speedup Bluetooth LE REPL.
Updating mp_hal_stdout_tx_strn_cooked to pass on the whole string
to mp_hal_stdout_tx_strn instead of passing byte by byte.
2017-08-05 18:23:22 +02:00
Glenn Ruben Bakke
def719e7a7 nrf: Use the name MicroPython consistently in comments
There were several different spellings of MicroPython present in comments,
when there should be only one.

Aligning to upstream commit 55f33240f3.
2017-08-04 18:09:17 +02:00
Scott Shawcroft
13cb4aa89d atmel-samd: Add support for a second flash chip so either may be used. 2017-08-03 13:44:31 -07:00
Scott Shawcroft
8f3c5ebdc8 atmel-samd: Clear the error bit after the known buffer overflow and be explicit about dst increase. 2017-08-03 13:44:31 -07:00
brentru
c08cc4106b added Gemma M0 to supported boards section on readme 2017-08-01 11:42:24 -07:00
Scott Shawcroft
1dfe277a15 docs: Tweak favicon setting so sphinx doesn't give an error locally. 2017-07-31 14:23:43 -07:00
Scott Shawcroft
9f6b828924 Update favicon to blinka. 2017-07-28 16:33:07 -07:00
Scott Shawcroft
6446fcd500 docs: Add links to NeoPixel and SimpleIO docs. 2017-07-28 16:32:52 -07:00
Scott Shawcroft
557ceded00 atmel-samd: Introduce audiobusio.PDMIn for recording audio from PDM
microphones.
2017-07-28 12:12:38 -07:00
brentru
48375ba954 fixed naming on pulseIn example for docs 2017-07-27 19:15:51 -07:00
Dan Halbert
f91493c97e Measure and report maximum stack usage. (#175)
Add max stack usage tracking, visible via debug module ustack.
Add separate cpp flag for enabling modules: MICROPY_DEBUG_MODULES
2017-07-23 15:32:05 -04:00
Girts Folkmanis
af1ede930b esp8266: fix "uos" includes
Fix couple places in startup scripts that still had "import uos". This
would cause an exception when _boot.py was executed during startup.
2017-07-22 21:18:37 -04:00
Scott Shawcroft
bd4a975530 docs: Minor updates before 1.0.0 2017-07-19 15:13:23 -04:00
Dan Halbert
0d2c1bf2bb Fix problems that prevented use of internal frozen modules:
1. Allow -Wlto-type-mismatch to be just a warning when building with frozen modules.
2. Fix extern decls that triggered -Wnested-externs when building with frozen modules.
3. Pass the correct value of -mlongint-impl to $(MPY_TOOL). New file mpconfigport.mk to do this.
2017-07-16 16:00:41 -07:00
Scott Shawcroft
af823e64c4 docs: tweak css so a horizontal scroll bar shows up on the wide pinout tables. Fixes #166 2017-07-14 11:28:39 -07:00
Scott Shawcroft
c82b84e0a9 atmel-samd: Fix potential buffer overflow in UART.c by recalculating
the buffer end rather than naively adding 1. It could have needed to
wrap around. Thanks @dhalbert for spotting the bug.

Fixes #132
2017-07-13 16:21:12 -07:00
Scott Shawcroft
3660023046 atmel-samd: Update README and add pinout tables that map MCU names
to names in the board module and explain pin capabilities.

Fixes #149
2017-07-13 16:05:24 -07:00
Scott Shawcroft
b69507fc64 shared-bindings: Fix neopixel_write example. I forgot to save in the editor. Fixes #163 2017-07-12 14:59:26 -07:00
Scott Shawcroft
1e04e8ea1c atmel-samd: Reboot to bootloader when a 1200 baud serial connection is
closed. This is how Arduino triggers the bootloader.
2017-07-12 11:58:22 -07:00
Scott Shawcroft
09b80b10d1 atmel-samd: Add Trinket Rev D support. 2017-07-12 11:55:50 -07:00
Scott Shawcroft
94346d97ba atmel-samd: Add TX/RX and SCL/SDA pins names for Gemma M0. 2017-07-12 11:55:50 -07:00
Scott Shawcroft
e02e423510 atmel-samd: Switch streams to non-blocking mode. Fixes #159. 2017-07-12 11:55:50 -07:00
Scott Shawcroft
ffc37faadc atmel-samd: Update Gemma M0 USB device name. 2017-07-12 11:55:49 -07:00
Scott Shawcroft
309daaf5fc atmel-samd: Update Gemma M0 for release revision. 2017-07-12 11:55:49 -07:00
Scott Shawcroft
97df799e2c atmel-samd: Add IR_TX and IR_RX pin names for REMOTEOUT and REMOTEIN to the CircuitPlayground Express pins to match the silkscreen. 2017-07-12 11:55:49 -07:00
Dan Halbert
2cd62b46cd Fix USB Busy error for kbd hid. Made kbd USB report descriptor be
COMPILER_WORD_ALIGNED as done in #118 for mouse. Added COMPILER_WORD_ALIGNED
to other UDC_DESC_STORAGE declarations that might have the same issue in
the future.
2017-07-12 11:55:49 -07:00
Scott Shawcroft
f878bc4efc atmel-samd: Fix AudioOut buffer playback by supporting bytes_per_sample.
Thanks to @ntoll for finding this bug!
2017-07-12 11:55:49 -07:00
Scott Shawcroft
5e231bd8f9 shared-bindings: Add neopixel_write example. Fixes #163 2017-07-12 11:55:17 -07:00
Scott Shawcroft
b6ebf855d3 Update README with os and random info. 2017-06-29 17:30:02 -07:00
Scott Shawcroft
3bf6303081 Add link to discord chat. 2017-06-29 17:17:50 -07:00
Scott Shawcroft
725d715a1b shared-bindings: Introduce storage.remount() so you can set root as
writeable and prevent USB from editing it.
2017-06-28 16:18:13 -07:00
Scott Shawcroft
1e16e813e8 atmel-samd: Update sys.path with correct root path. 2017-06-28 14:53:01 -07:00
Scott Shawcroft
05f0681966 atmel-samd: update boot output location for new mount point. 2017-06-28 14:51:46 -07:00
Scott Shawcroft
d6a24afd71 Change vfs mount ordering such that the root is always last in the
linked list. Its also the only one statically allocated and made
available over USB.
2017-06-28 14:46:49 -07:00
Scott Shawcroft
5ddbf26b62 atmel-samd: Update sys.path to match that the internal/onboard
flash is now at / rather than /flash.
2017-06-28 12:52:29 -07:00
Scott Shawcroft
c797f3cb24 shared-module: Fix os.listdir to correctly return list rather than
iterator.
2017-06-28 12:51:32 -07:00
Scott Shawcroft
a0058e6712 Introduce a random module that is a subset of CPython's random. It
also initializes in the same way where it takes from a true random
source when available through os.urandom(). After initializing, it
produces deterministic results until the seed is set.

This replaces urandom!

Fixes #139.
2017-06-27 17:37:24 -07:00
Scott Shawcroft
265d5dab05 docs: Typos and rename to CircuitPython. 2017-06-27 17:37:03 -07:00
Scott Shawcroft
778e975936 Split uos module into os and storage.
os is a subset of CPython's os. storage contains additional
file system mounting functionality based on UNIX's mount
management.

Fixes #140
2017-06-27 15:17:30 -07:00
Scott Shawcroft
e87a61ffb4 atmel-samd: Fix running off of the new VFS filesystem including
an issue at startup leading to safe mode and mass storage support
not working.
2017-06-26 14:04:22 -07:00
Scott Shawcroft
8251d8cb2a travis: Turn off coveralls. 2017-06-20 18:09:38 -07:00
Scott Shawcroft
df20b28805 minimal: Update mp_builtin_open signature to match new function type. 2017-06-20 17:52:36 -07:00
Scott Shawcroft
03a7069d60 py: Change asm form to make minimal port happy. 2017-06-20 17:52:13 -07:00
Scott Shawcroft
30ee7019ca Merge tag 'v1.9.1'
Fixes for stmhal USB mass storage, lwIP bindings and VFS regressions

This release provides an important fix for the USB mass storage device in
the stmhal port by implementing the SCSI SYNCHRONIZE_CACHE command, which
is now require by some Operating Systems.  There are also fixes for the
lwIP bindings to improve non-blocking sockets and error codes.  The VFS has
some regressions fixed including the ability to statvfs the root.

All changes are listed below.

py core:
- modbuiltins: add core-provided version of input() function
- objstr: catch case of negative "maxsplit" arg to str.rsplit()
- persistentcode: allow to compile with complex numbers disabled
- objstr: allow to compile with obj-repr D, and unicode disabled
- modsys: allow to compile with obj-repr D and PY_ATTRTUPLE disabled
- provide mp_decode_uint_skip() to help reduce stack usage
- makeqstrdefs.py: make script run correctly with Python 2.6
- objstringio: if created from immutable object, follow copy on write policy

extmod:
- modlwip: connect: for non-blocking mode, return EINPROGRESS
- modlwip: fix error codes for duplicate calls to connect()
- modlwip: accept: fix error code for non-blocking mode
- vfs: allow to statvfs the root directory
- vfs: allow "buffering" and "encoding" args to VFS's open()
- modframebuf: fix signed/unsigned comparison pendantic warning

lib:
- libm: use isfinite instead of finitef, for C99 compatibility
- utils/interrupt_char: remove support for KBD_EXCEPTION disabled

tests:
- basics/string_rsplit: add tests for negative "maxsplit" argument
- float: convert "sys.exit()" to "raise SystemExit"
- float/builtin_float_minmax: PEP8 fixes
- basics: convert "sys.exit()" to "raise SystemExit"
- convert remaining "sys.exit()" to "raise SystemExit"

unix port:
- convert to use core-provided version of built-in import()
- Makefile: replace references to make with $(MAKE)

windows port:
- convert to use core-provided version of built-in import()

qemu-arm port:
- Makefile: adjust object-file lists to get correct dependencies
- enable micropython.mem_*() functions to allow more tests

stmhal port:
- boards: enable DAC for NUCLEO_F767ZI board
- add support for NUCLEO_F446RE board
- pass USB handler as parameter to allow more than one USB handler
- usb: use local USB handler variable in Start-of-Frame handler
- usb: make state for USB device private to top-level USB driver
- usbdev: for MSC implement SCSI SYNCHRONIZE_CACHE command
- convert from using stmhal's input() to core provided version

cc3200 port:
- convert from using stmhal's input() to core provided version

teensy port:
- convert from using stmhal's input() to core provided version

esp8266 port:
- Makefile: replace references to make with $(MAKE)
- Makefile: add clean-modules target
- convert from using stmhal's input() to core provided version

zephyr port:
- modusocket: getaddrinfo: Fix mp_obj_len() usage
- define MICROPY_PY_SYS_PLATFORM (to "zephyr")
- machine_pin: use native Zephyr types for Zephyr API calls

docs:
- machine.Pin: remove out_value() method
- machine.Pin: add on() and off() methods
- esp8266: consistently replace Pin.high/low methods with .on/off
- esp8266/quickref: polish Pin.on()/off() examples
- network: move confusingly-named cc3200 Server class to its reference
- uos: deconditionalize, remove minor port-specific details
- uos: move cc3200 port legacy VFS mounting functions to its ref doc
- machine: sort machine classes in logical order, not alphabetically
- network: first step to describe standard network class interface

examples:
- embedding: use core-provided KeyboardInterrupt object
2017-06-20 10:56:05 -07:00
Scott Shawcroft
97fcdfbd08 docs: Update design guide for new DigitalInOut API. 2017-06-19 09:06:46 -07:00
Scott Shawcroft
a715bf6bac atmel-samd: Introduce board reset mechanic used on CircuitPlayground
Express to ensure the Neopixels are off after reloads.
2017-06-16 15:40:15 -07:00
Scott Shawcroft
3e23464b1e atmel-samd: Add user initiated safe mode and rework board.c for
board specific functionality.

Fixes #155
2017-06-16 14:55:53 -07:00
Scott Shawcroft
c7efd2cae9 shared-bindings: Move enum-like classes out of DigitalInOut into digitalio.
Also, rename Direction.IN to Direction.INPUT and Direction.OUT to Direction.OUTPUT.

This simplifies using them. Prior to the nativeio split this would have led to
clutter in the top-level namespace but having digitalio prevents this.

Fixes #152
2017-06-16 13:47:01 -07:00
Scott Shawcroft
58ab5844cb atmel-samd: Fix sharing TCCs by statically storing the current period.
A previous fix improved the duty_cycle channel value computation by
removing the reliance on the PER register which gave old values. It
saved the period on the object but failed to set anything for reused
timers. So, this breaks it out into a separate array that can be
shared across all object regardless of whether it used a new or
existing timer.
2017-06-12 15:37:09 -07:00
Scott Shawcroft
c61e1b89aa atmel-samd: Fix TCC1, its two channels and four wave outputs.
Previously it was configured as four and four which configured
the incorrect channels.
2017-06-12 15:36:09 -07:00
Scott Shawcroft
736a63e85a atmel-samd: Set up the tcc_instance when using an already active TCC.
This fixes a hard lock that happens when using a second channel on an
in use TCC. The lock occurred when setting the duty cycle on the channel
because the hw address was not available to ASF.

Thanks to @ladyada for finding the bug.
2017-06-09 17:16:33 -07:00
Scott Shawcroft
3658c92270 atmel-samd: Reset TCC channel in use array on reset.
This fixes spurious "All timers in use" exceptions. Thanks to
@ladyada for finding this issue.
2017-06-09 17:15:31 -07:00
Scott Shawcroft
9434db07b2 atmel-samd: Handle TCC2 correctly. Unlike the other TCCs its 16bit
rather than 24bit. Setting the period for more than a 16bit number
caused the TCC to be in a weird state where resetting it would hard
crash.

Fixes #153
2017-06-09 15:29:02 -07:00
Daniel Tralamazza
1ac8f67e3b Merge pull request #81 from tralamazza/readme_update_ble_repl
nrf5: Updating readme with BLE REPL
2017-06-09 22:34:57 +02:00
glennrub
3193bcc7ee nrf5: Updating readme with BLE REPL 2017-06-09 22:33:51 +02:00
Daniel Tralamazza
a6b138c9ef Merge pull request #78 from glennrub/fixes
Fixes
2017-06-09 22:27:13 +02:00
Scott Shawcroft
43881f933d py: Prevent mp_arg_check_num from being optimized away by the compiler.
Also, change the MICROPY_ERROR_REPORTING checks to macros to make it
clear the compiler can handle it immediately.

Fixes #154
2017-06-09 11:20:53 -07:00
Glenn Ruben Bakke
c9a7a50c74 Merge remote-tracking branch 'upstream/master' into fixes 2017-06-09 17:05:46 +02:00
Ben Whitten
60ad0157f7 nrf/boards: Add DVK BL652 from Laird
To build run 'make BOARD=dvk_bl652 SD=s132'
To flash with jlink run 'make sd BOARD=dvk_bl652 SD=s132'
This will remove the existing licences in the bl652
2017-06-09 15:15:19 +02:00
Ben Whitten
8326d777cc nrf/drivers/bluetooth: Allow s132 to use LFCLK 2017-06-09 15:15:19 +02:00
Ben Whitten
decb260890 nrf: Add nordic sd folders to the .gitignore 2017-06-09 15:15:19 +02:00
Scott Shawcroft
a884acc7f6 atmel-samd: Fix PWMOut duty_cycle when used with TCC peripherals.
Fixes #148. Fixes #151
2017-06-08 18:56:13 -07:00
Glenn Ruben Bakke
72a564b065 nrf/boards: Updating microbit pin mapping for SPI and I2C. 2017-06-09 00:48:37 +02:00
Glenn Ruben Bakke
30b27b1370 nrf/boards: Correcting feather52 I2C SDA pin assigned to the board. 2017-06-09 00:06:26 +02:00
Glenn Ruben Bakke
708571834a nrf/examples: Update ssd1306 modification example to import correct class. 2017-06-09 00:05:31 +02:00
Glenn Ruben Bakke
5d28a99114 nrf/boards: Activate RTC and Timer module and HAL on pca10056. Also swapping out UART with UART DMA variant on this target board. 2017-06-08 21:42:13 +02:00
Glenn Ruben Bakke
8906084d80 nrf/boards: Activate RTC, Timer, I2C, ADC and HW_SPI module and HAL on pca10031. 2017-06-08 21:23:30 +02:00
Glenn Ruben Bakke
362e2946a5 nrf/boards: Activate RTC, Timer, I2C and ADC module and HAL on pca10001. 2017-06-08 21:06:42 +02:00
Glenn Ruben Bakke
4b4fee8b78 nrf/boards: Adding RTC and Timer module and HAL to pca10000. 2017-06-08 20:58:19 +02:00
Scott Shawcroft
9345562cc8 docs: Add note about composition to the design guide. 2017-06-07 14:57:55 -07:00
Scott Shawcroft
714521a4c7 shared-bindings: Update docs to remove with statements from examples but add more detail to the design guide about their use. 2017-06-07 14:39:12 -07:00
Daniel Tralamazza
f730ea9602 Merge pull request #76 from glennrub/readme_update
nrf: Updating README.
2017-06-07 21:57:37 +02:00
Daniel Tralamazza
52f1fbdd70 Merge pull request #75 from glennrub/remove_unused_file
nrf: Removing unused font header.
2017-06-07 21:56:33 +02:00
Glenn Ruben Bakke
10965eef5c nrf: Updating README. 2017-06-07 21:33:47 +02:00
Scott Shawcroft
c5e515b8fe docs: Add module support matrix. 2017-06-07 12:00:15 -07:00
Scott Shawcroft
2ecb9a3dbf docs: Fix header lines that are too short. 2017-06-07 11:58:04 -07:00
Glenn Ruben Bakke
d6905b961e nrf: Removing unused font header. 2017-06-07 20:54:36 +02:00
Daniel Tralamazza
6d1be3dc65 Merge pull request #73 from tralamazza/nrf5_rename_to_nrf
rename nrf5 folder to nrf
2017-06-07 20:02:40 +02:00
Daniel Tralamazza
bf09cdff60 rename temperature example 2017-06-07 19:44:09 +02:00
Glenn Ruben Bakke
f0485c06a1 nrf5/examples: Adding ubluepy peripheral example that works across nrf51 and nrf52. The example uses Environmenting Sensing Service to provide the temperature characteristic. The temperature is fetched from the machine.Temp module. One note is that the example uses 1 LED which is not present on all boards. 2017-06-07 19:44:08 +02:00
Glenn Ruben Bakke
fc26a2ef7c nrf5/modules/ubluepy: Adding new event constant for gatts write (80) events from bluetooth stacks. 2017-06-07 19:44:08 +02:00
Glenn Ruben Bakke
d53596145a nrf5/hal/timer: Add support for fetching temperature if bluetooth stack is enabled. 2017-06-07 19:44:08 +02:00
Glenn Ruben Bakke
4a52f8401b nrf5/drivers/bluetooth: Make printf in 'ble_drv_service_add' function part of debug log. 2017-06-07 19:44:08 +02:00
Daniel Tralamazza
e5802fd9f8 implement #50 2017-06-07 18:57:47 +02:00
Daniel Tralamazza
5552864196 Merge pull request #66 from glennrub/ble_support_for_feather52
nrf5/boards/feather52: Update s132 target makefile with dfu-gen and d…
2017-06-07 18:24:57 +02:00
Daniel Tralamazza
0dbb06f9a5 Merge pull request #67 from glennrub/leds_update
Leds update
2017-06-07 18:24:06 +02:00
Daniel Tralamazza
277905534b Merge pull request #68 from glennrub/generic_frozen_module
Generic frozen module
2017-06-07 18:23:03 +02:00
Daniel Tralamazza
9de43eb545 Merge pull request #70 from glennrub/rename_examples
nrf5/examples: Renaming servo.py to nrf52_servo.py as it is only impl…
2017-06-07 18:19:47 +02:00
Daniel Tralamazza
bc1aec8a0d Merge pull request #71 from glennrub/update_ssd1306_examples
nrf5/examples: Removing copy of ssd1306 driver, creating a new class …
2017-06-07 18:19:29 +02:00
Daniel Tralamazza
50a12a40a3 Merge pull request #72 from glennrub/sdcard_example
Sdcard example
2017-06-07 18:19:08 +02:00
Scott Shawcroft
c0e1f58b67 shared-bindings: Allow for switching direction with the attribute. 2017-06-06 17:45:39 -07:00
Scott Shawcroft
c8dc091288 shared-bindings: Fix duty_cycle parameter description and error message. 2017-06-06 16:23:06 -07:00
Scott Shawcroft
b5f50fadf9 atmel-samd: Change Metro PID to 0x8014 so it doesn't conflict with Arduino's PID. 2017-06-06 16:18:34 -07:00
Glenn Ruben Bakke
391cb3ebe8 nrf5/examples: Updating mountsd example with comment from deleted sdcard.py on how to wire SD directly to SPI. 2017-06-06 22:17:35 +02:00
Glenn Ruben Bakke
d21b11fe0e nrf5/examples: Removing copy of sdcard.py also found in drivers/sdcard. 2017-06-06 22:16:49 +02:00
Glenn Ruben Bakke
dbc184816a nrf5/examples: Removing copy of ssd1306 driver, creating a new class that overrides the needed function for i2c. Also adding some example usage in the comment in top of the file for both SPI and I2C variant. 2017-06-06 21:43:51 +02:00
Glenn Ruben Bakke
de3a78a097 nrf5/hal/gpio: Updating toggle inline function to work correctly, currently only used by LED module. 2017-06-05 21:59:37 +02:00
Glenn Ruben Bakke
e35a552f1f nrf5/examples: Renaming servo.py to nrf52_servo.py as it is only implemented machine.PWM for nrf52. 2017-06-05 21:38:41 +02:00
Scott Shawcroft
9805abd858 Merge pull request #146 from dhalbert/stack_check-fix
Fix broken mp_stack_check() when using -flto
2017-06-05 11:51:27 -07:00
Glenn Ruben Bakke
56c28d2ba6 nrf5/freeze: Adding generic example to freeze. Hello world with board name as parameter. 2017-06-05 17:54:39 +02:00
Glenn Ruben Bakke
35a3abb998 nrf5/examples: Moving nrf52 specific HW example from freeze to examples to replace test.py with a more generic example. 2017-06-05 17:46:56 +02:00
Glenn Ruben Bakke
2f983d3ef9 nrf5: Update pyb module, and led module to only be compiled in if MICROPY_HW_HAS_LED is set to 1. 2017-06-05 17:39:47 +02:00
Glenn Ruben Bakke
9779910e3e nrf5/boards: Updating boards with correct LED count. Also adding new flag, MICROPY_HW_HAS_LED, to select whether the board has LED's at all. If not, this will unselect LED module from being compiled in. 2017-06-05 17:36:56 +02:00
Glenn Ruben Bakke
044e36f26f nrf5/boards: Updating pca10040 board header to set the LED count. 2017-06-05 15:30:45 +02:00
Glenn Ruben Bakke
c4304d69e0 nrf5: Generalize script setting LED(1) on to be applied only when there are leds present on the board. 2017-06-05 15:29:55 +02:00
Glenn Ruben Bakke
e645b0b425 nrf5: Updating mpconfigport.h to set default values for MICROPY_HW_LED_COUNT (0) and MICROPY_HW_LED_PULLUP (0). 2017-06-05 15:28:54 +02:00
Dan Halbert
88b449a8cd Fix broken mp_stack_check: force mp_stack_ctrl_init() and mp_stack_usage() not to be inlined even with -flto 2017-06-04 22:05:55 -04:00
Glenn Ruben Bakke
3996ed7183 nrf5/boards/feather52: Update s132 target makefile with dfu-gen and dfu-flash. This enables feather52 with Bluetooth LE. Features to be configured in bluetooth_conf.h. 2017-06-04 12:50:14 +02:00
Glenn Ruben Bakke
227eeb1408 Merge remote-tracking branch 'upstream/master' into nrf5_no_sdk 2017-06-03 23:23:08 +02:00
Daniel Tralamazza
d83c4fa130 Merge pull request #51 from glennrub/ubluepy_char_write_with_response
Ubluepy char write with response
2017-06-03 22:58:40 +02:00
Daniel Tralamazza
5be53808c9 Merge pull request #57 from glennrub/make_use_of_music_pin_define
Make use of music pin define
2017-06-03 22:56:31 +02:00
Daniel Tralamazza
bbd778c690 Merge pull request #63 from glennrub/dfu_serial_flag
nrf5/boards/feather52: Add SERIAL makeflag if dfu-flash target is used.
2017-06-03 22:56:05 +02:00
Daniel Tralamazza
e619b837c0 Merge pull request #62 from glennrub/raw_repl_support
nrf5: Updating main.c to support RAW REPL.
2017-06-03 22:53:16 +02:00
Daniel Tralamazza
baedc380bf Merge pull request #55 from glennrub/align_rtc_and_timer
nrf5/hal/rtc: Aligning RTC (real-time counter) HAL driver with Timer …
2017-06-03 22:52:35 +02:00
Daniel Tralamazza
f22639d9b0 Merge pull request #59 from tralamazza/readme_updates
Update README.md.
We can open an issue, maybe an ongoing one for our documentation
2017-06-03 22:52:14 +02:00
Glenn Ruben Bakke
235e848ea7 nrf5/boards/feather52: Add SERIAL makeflag if dfu-flash target is used. 2017-06-03 21:42:42 +02:00
Glenn Ruben Bakke
dbf33fdc46 nrf5: Updating readme.md file based on review comments. 2017-06-03 20:20:38 +02:00
Glenn Ruben Bakke
a2a8115ed4 nrf5: Update help.c with documentation of CTRL-A and CTRL-B to enter and exit raw REPL mode. 2017-06-03 19:56:30 +02:00
Glenn Ruben Bakke
a37416dc2d nrf5: Updating main.c to support RAW REPL. 2017-06-03 19:34:05 +02:00
glennrub
65b3e9875d Update README.md 2017-06-03 00:16:31 +02:00
Glenn Ruben Bakke
db0fa6aafb nrf5/modules/music: Updating pitch method to also use configured pin from mpconfigboard.h if set, in the case of lacking kwarg for pin. Also removing some commented out arguments to remove some confusion in the argument list. Done for both play() and pitch(). 2017-06-02 21:18:28 +02:00
Glenn Ruben Bakke
d5acc13d5e nrf5/modules/music: Correct parameter checking of pin argument to deside whether to use MUSIC_PIN define or throw an error. If MUSIC_PIN define is configured the pin argument to music module play() can be elided. 2017-06-02 21:06:36 +02:00
Glenn Ruben Bakke
db0f4963b7 nrf5/modules/machine: Update timer init to set default IRQ priority before initializing Timer instance. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke
ea95dcba4d nrf5/hal/timer: Update timer hal to use value provided in init to configure the irq_priority. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke
c28e94b534 nrf5/modules/machine: Reserving timer0 instance for bluetooth if compiled in. Leaving timer1 and timer2 for application. Note that music module soft-pwm will also occupy timer1 if enabled. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke
6ddaba532a nrf5/modules/machine: Updating timer module to use new hal. Adding new parameters to the init to set period, mode and callback. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke
f49f20a24e nrf5/hal/timer: Implementing hal_timer to 1us prescaler. Multiplier inside to get to millisecond resolution. Callback must be registered before starting a timer. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke
ac7fae2e0a nrf5: Makefile cleanup. Removing duplicate include and unused netutils.c used by BLE 6lowpan network which has been removed for now. 2017-06-02 19:19:55 +02:00
Glenn Ruben Bakke
daf3474247 nrf5/modules/machine: Indention fix in uart module. 2017-06-02 19:18:21 +02:00
Glenn Ruben Bakke
ad1076b206 nrf5/modules/machine: Removing unused code from uart module. 2017-06-02 19:18:21 +02:00
Glenn Ruben Bakke
45303796d7 nrf5/hal/rtc: Updating hal driver to calculate prescaler a bit more verbose. Using 1 second interval ticks. 2017-06-02 19:04:19 +02:00
Glenn Ruben Bakke
b785e145d2 nrf5/modules/machine: Fixing type in RTC. 2017-06-02 18:41:13 +02:00
Glenn Ruben Bakke
5cfd6d166c nrf5/modules/machine: Update rtc init to set default IRQ priority before initializing RTC instance. 2017-06-02 18:35:04 +02:00
Glenn Ruben Bakke
147e579e28 nrf5/hal/rtc: Aligning RTC (real-time counter) HAL driver with Timer HAL driver. To make api's symetric. Also updating modules/rtc to get aligned with new HAL api. 2017-06-01 23:05:42 +02:00
Glenn Ruben Bakke
a81de242c5 nrf5/drivers/bluetooth: Moving stop condition initialization before call to bluetooth stack write function is done, to make sure that its not overwritten after reception of the write event in case of with_response writes. 2017-05-30 23:23:31 +02:00
Glenn Ruben Bakke
b17665b8ad nrf5/drivers/bluetooth: Removing duplicate static variable declaration. 2017-05-30 23:19:34 +02:00
Glenn Ruben Bakke
1eb8792fa5 nrf5/modules/ubluepy: Updating characteristic write method to take in an additional keyword, 'with_response'. Default value is False. Only activated in central role. 2017-05-30 19:32:26 +02:00
Glenn Ruben Bakke
66db079192 nrf5/drivers/bluetooth: Updating ble_drv_attr_c_write with possibility to do client write with response. Blocking call. 2017-05-30 19:29:46 +02:00
Scott Shawcroft
66c421f401 atmel-samd: Correct the USB PID of the CircuitPlayground Express. 2017-05-29 14:35:38 -07:00
Glenn Ruben Bakke
e07088ce23 nrf5/examples: Adding some notes on which pin layout that has been used in the seeed_tft.py ILI9341 driver for driving the display. 2017-05-29 23:09:53 +02:00
Glenn Ruben Bakke
94b94d7ff4 nrf5/examples: Shorten name on seeedstudio_tft_shield_v2.py to seeed_tft.py. 2017-05-29 23:09:53 +02:00
Glenn Ruben Bakke
0bce2ea74a nrf5/examples: Updating ili9341 example to use new Frambuffer object instead of legacy Framebuffer1. 2017-05-29 23:09:53 +02:00
Glenn Ruben Bakke
8b9f14244d nrf5/examples: Removing seeed.py which used a lcd mono framebuffer has been removed. 2017-05-29 22:03:18 +02:00
Matt Trentini
7dac28575d Adding a README for the nRF5 port 2017-05-29 21:37:39 +02:00
Glenn Ruben Bakke
95b01db098 nrf5/examples: Updating documentation in SDCard module example. Correcting typo and adding SD card wireing documentation for direct SPI connection. 2017-05-28 22:42:45 +02:00
Glenn Ruben Bakke
5fb937f147 nrf5/modules/pin: Adding on() and off() methods to Pin object to be forward compatible with upstream master. Legacy high() and low() methods are kept. 2017-05-28 21:11:03 +02:00
Glenn Ruben Bakke
933507e980 Merge remote-tracking branch 'upstream/master' into nrf5_no_sdk 2017-05-28 20:56:40 +02:00
Glenn Ruben Bakke
f3909c49f5 nrf5/modules/spi: Remove pyb abstraction from SPI module, as there was a bug in transfer of bytes due to casting errors. The update removes the pyb_spi_obj_t wrapper going directly on the machine_hard_spi_obj_t as base for machine SPI objects. SDCard mounting is also tested. 2017-05-28 19:35:07 +02:00
Glenn Ruben Bakke
cb9ed6bb55 nrf5/drivers/bluetooth: Enable ubluepy central by default if running nrf52/s132 bluetooth stack. Maturity of the module is pretty OK now. 2017-05-25 22:20:17 +02:00
Glenn Ruben Bakke
44673de114 nrf5/boards/feather52: Updating pins.csv for the feather52 board. 2017-05-25 22:16:46 +02:00
Glenn Ruben Bakke
cb7a0aefa0 nrf5/boards/feather52: Updating LED pull to low. 2017-05-25 22:16:46 +02:00
Glenn Ruben Bakke
88b4ebc715 nrf5/boards/feather52: Update SPI pinout. 2017-05-25 22:16:46 +02:00
Scott Shawcroft
aaf01481aa Change the approach for input so that its not included in every single build. Put it next to readline instead. 2017-05-25 12:14:42 -07:00
Scott Shawcroft
32a4eb2c53 atmel-samd: Add input support. Fixes #143 2017-05-25 11:55:38 -07:00
Glenn Ruben Bakke
aba5fcbf0f nrf5/main: Move initializaton of modmusic to the module itself. Upon init of the module, the hardware, pwm and ticker will be started. Could be moved back to main if pwm or ticker should be shared among more modules and have to be initialized more global. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke
d9813910da nrf5/modules/machine/timer: If timer is used in combination with SOFT_PWM (implicitly use of ticker.c) guard the Timer1 instance from being instantiated trough python timer module. Also disable implementation of the HAL IRQ handler which is for now explicitly implemented in ticker.c for Timer1. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke
aa9ad6be01 nrf5/modules/music: Update ticker and modmusic to share global ticks counter as a volatile variable. Use Timer1 hardware peripheral instead of instance 0. Timer0 is not free if used in combination with a bluetooth stack. Update IRQ priority to levels that are compatible in use with a bluetooth stack for both nrf51 and nrf52. Apply nrf51 PAN fixes for Timer1 instead of original Timer0. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke
ed93392d87 nrf5/drivers/bluetooth: Updating bluetooth driver to initialize nrf_nvic_state_t struct during declaration of the global variable instead of explicit memset. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke
2f40c61c3e nrf5/hal/irq: Adding wrappers for handling nvic calls when Bluetooth LE stack is enabled. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke
c7cc57eaa0 nrf5/modules/machine: Updating IRQ levels in SPI with IRQ priorities compatible with Bluetooth stacks. 2017-05-25 00:24:50 +02:00
Scott Shawcroft
1280e9122b Doc tweaks to clarify external libraries, new boards and add HID library. 2017-05-24 11:44:23 -07:00
Scott Shawcroft
3cad7b7b03 atmel-samd: correctly reset the REPL history on reload. Fixes #141 2017-05-24 10:53:52 -07:00
Scott Shawcroft
b444788451 Merge pull request #135 from robomike/pins
Renamed spi flash to ext flash not to confuse with the actual spi flash
2017-05-23 11:43:20 -07:00
robomike
517590a58a atmel-samd:renamed spi flash to confuse with the actual spi flash 2017-05-23 14:09:28 -04:00
Scott Shawcroft
907188972c Merge pull request #138 from dhalbert/add-ure-et-al
Enable ure, center, partition, frozenset, splitlines, reversed for Express builds.
2017-05-21 22:00:19 -07:00
Dan Halbert
5c7071e92a Merge branch 'master' into add-ure-et-al 2017-05-21 23:20:47 -04:00
Glenn Ruben Bakke
e87dcd8940 nrf5/device: Remove old startup files in asm, which has now been replaced with c-implementation. 2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke
d580fa4088 nrf5: Update Makefile to add c-implementation of startup scripts instead of the .s files. 2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke
d7145339aa nrf5/device: Adding startup files in .c to replace current asm versions. 2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke
d877e0e533 nrf5/examples: Tuning Bluetooth LE example controller python script after testing out the example live. Motor speed of 100 was not enought to lift the airplane. Also turning was hard without setting higher angle values. The new values are just guessed values. However, the flying experience was good. 2017-05-21 18:14:08 +02:00
Scott Shawcroft
eeced45bed Remove code size check. Its causing builds to fail because the new GCC made it slightly larger. 2017-05-21 07:53:19 -07:00
Dan Halbert
253bdf7739 Enable ure, center, partition, frozenset, splitlines, reversed for Express builds. 2017-05-20 14:02:37 -04:00
Scott Shawcroft
0a6bed491f atmel-samd: Enable autoreload by default again. 2017-05-20 08:11:06 -07:00
Glenn Ruben Bakke
4a7716f5dd Merge remote-tracking branch 'upstream/master' into nrf5_no_sdk 2017-05-18 23:23:21 +02:00
Glenn Ruben Bakke
003f43b5c9 nrf5/hal/irq: Adding include of nrf_nvic.h if s132 bluetooth stack is used to resolve IRQ function wrappers on newer bluetooth stacks. 2017-05-18 23:20:25 +02:00
Glenn Ruben Bakke
1192981d24 nrf5/drivers/ticker: Removing unused code. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
0fa70ec988 nrf5/examples: Adding music example. Only working if bluetooth stack is not enabled. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
1ff44dd5b8 nrf5/boards/microbit: Disable music and softPWM as there are some issues with the ticker. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d06c6f4587 nrf5: Adding -fstack-usage flag to gcc CFLAGS to be able to trace stack usage on modules. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
c921bbd9ac nrf5/drivers/ticker: Removing LowPriority callback from nrf51 as there is only one SoftwareIRQ free if bluetooth stack is enabled. Also setting new IRQ priority on SlowTicker to 3 instead of 2, to interleave with bluetooth stack if needed. Updating all NVIC calls to use hal_irq.h defined static inlines instead of direct access. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
981b3e61dd nrf5/hal/irq: Adding IRQ wrappers if Bluetooth Stack is present. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d1a4b19dc5 nrf5: Facilitate option to configure away the modble if needed. Enabled if MICROPY_PY_BLE config is enabled in bluetooth_conf.h. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
147d03feff nrf5/boards/microbit: Enable music module by default. However, timer and rtc module has to be disabled. Bluetooth support broken. Optimization needed. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
952c14c4bf nrf5/modules/machine: Quickfix. Update timer object to not allow instanciation of Timer(0) if SOFT_PWM is enabled by board. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
6f72e73137 nrf5/hal/timer: Quickfix. Disable IRQ handler if SOFT_PWM is configured to be enabled. Ticker driver has in current driver a seperate IRQ handler for this timer instance. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
086d79fbad nrf5/drivers/ticker: Add compile config guard in ticker.c to only include the driver if SOFT_PWM is configured in by board. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
234c9f3688 nrf5/drivers/softpwm: Renaming pwm_init to softpwm_init to not collide on symbol name with pwm_init in nrf52 machine PWM object. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
2584684e06 nrf5: Add modmusic QSTR definition of notes to qstrdefsport.h. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
c6b36ad4ca nrf5: Update Makefile to include ticker.c and renamed softpwm. Updating also include paths to include modules/music and drivers/. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
52be9eec9d nrf5: Adding include of modmusic.h in main.c. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
4c5c83567e nrf5: Call microbit_music_init0() if enabled in main.c. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
6330fd4f31 nrf5/modules/music: Expose public init function for music module. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d412241143 nrf5/modules/music: Update modmusic to use updated includes. Add extern ticks. Add function which implements initialization of pwm and ticker, register ticker callback, and start the pwm and ticker. This corresponds to microbit port main.cpp init. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
a0ad7ce0b4 nrf5/drivers/softpwm: Enable use of ticker in softpwm driver. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
cab515a022 nrf5/drivers/ticker: Adding ticker.c/.h from microbit port. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
3bc8309dab nrf5/drivers/pwm: Renaming pwm.c/.h to softpwm.c/.h 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
226d872d11 nrf5/drivers/pwm: Expose pwm_init() as public function. 2017-05-18 23:11:41 +02:00
Scott Shawcroft
d275d5bcf7 Update README with new boards and new differences. 2017-05-16 11:15:35 -07:00
Scott Shawcroft
b1925b1bd8 atmel-samd: Fixup autoreset after switching boot to running once. 2017-05-15 20:21:26 -07:00
Scott Shawcroft
3f5028c666 atmel-samd: Support wav file playback. Tested up to 16bit 22.1khz. Must be mono file!
SD card support may work but likely needs buffer tuning. Its untested.

Fixes #105
2017-05-15 19:52:38 -07:00
Scott Shawcroft
292ba89ac2 tools: Make now runs uf2conv itself. 2017-05-15 15:44:43 -07:00
Scott Shawcroft
974847ac8d atmel-samd: Add a safe mode which detects hard faults and reboots without running user code again. 2017-05-15 15:29:04 -07:00
Glenn Ruben Bakke
02e215dc59 nrf5/modules/ubluepy: Making peripheral conn_handle volatile. Upon connection event, the variable is accessed in thread mode. However, the main-loop is blocking on conn_handle != 0xFFFF. If this is not volatile, optimized code will not exit the loop. 2017-05-15 23:01:29 +02:00
Glenn Ruben Bakke
36d9c0cb83 nrf5/drivers/bluetooth: As callback functions are in most usecases are set to NULL upon last event to get public API function out of blocking mode, these function pointers has to be set as volatile, as they are updated to NULL in interrupt context, but read in blocking main-thread. 2017-05-15 23:01:10 +02:00
Glenn Ruben Bakke
e6b49af27e nrf5/examples: Fixing overlapping function names and variable names inside the object. Also removing some print statements. Tuning max angle from -7/7 to -25/25. 2017-05-15 21:59:00 +02:00
Glenn Ruben Bakke
acce3a59d5 Merge remote-tracking branch 'upstream/master' into nrf5_no_sdk 2017-05-15 20:15:32 +02:00
glennrub
9b76983af9 Powerup (#26)
* nrf5/examples: Adding python example template for PowerUp 3.0 Bluetooth LE controlled Paper Airplane.

* nrf5: Enable bluetooth le central while developing powerup 3.0 example.

* nrf5/examples: Backing up powerup 3.0 progress.

* nrf5/examples: Adding working example on how to control PowerUp 3.0 paper airplane using bluetooth le.

* nrf5/bluetooth: Disable central role.
2017-05-14 23:02:10 +02:00
Glenn Ruben Bakke
63805bac9c nrf5/modules/ubluepy: Correcting alignment of enum values in modubluepy.h. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
d96e2a3e08 nrf5/drivers/bluetooth: Add implementation of client attribute write without response. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
8f423c26d0 nrf5/modules/ubluepy: Pass on buffer to write in characteristic write central mode. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
ceb2602005 nrf5/modules/ubluepy: Updating characteristic object write function to be role aware. Either peripheral or central (gatts or gattc). Adding dummy call to attr_c_write if central is compiled in. Still in progress to be implemented. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
1f8ceaa6fb nrf5/drivers/bluetooth: Adding template function for attr_c_write. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
fd52691f02 nrf5/drivers/bluetooth: Renaming attr_write and attr_notify to attr_s_write and attr_s_notify to prepare for introduction of attribute write for gatt client. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
5d9c191a19 nrf5/modules/ubluepy: Fixing type in ubluepy_peripheral.c. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
cf0d2bb457 nrf5/modules/ubluepy: Setting peripheral role upon advertise() or connect(). 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
f8c0ff6413 nrf5/drivers/bluetooth: Adding role member to peripheral object to indicate whether Peripheral object is Peripheral or Central role. 2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
78c0821216 nrf5/modules/ubluepy: Continue characteristic discovery until nothing more is found during connect proceedure. 2017-05-14 18:06:42 +02:00
Glenn Ruben Bakke
653f4a86d5 nrf5/drivers/bluetooth: Refactoring code to group statics for s130 and s132 into the same ifdef. Also adding two empty lines in discovery functions to make it more easy to read. 2017-05-14 18:06:42 +02:00
Glenn Ruben Bakke
e8cd010f59 nrf5/drivers/bluetooth: Updating characteristic discovery to signal whether anything was found or not. 2017-05-14 18:06:42 +02:00
Glenn Ruben Bakke
370c20ff6c nrf5/modules/ubluepy: Continue primary service discovery until nothing more is found in connect proceedure. 2017-05-13 18:12:15 +02:00
Glenn Ruben Bakke
b4f96a1dc3 nrf5/drivers/bluetooth: Updating primary service discovery api to take in start handle from where to start the service discovery. Also adjusting return parameter to signal whether anything was found or not. 2017-05-13 18:12:15 +02:00
Glenn Ruben Bakke
3420843774 nrf5/modules/ubluepy: Remove duplication GAP event handler registration in peripheral.connect(). 2017-05-13 16:17:03 +02:00
glennrub
4584ef4ace Support address types (#18)
* nrf5/modules/ubluepy: Adding new enumeration of address types.

* nrf5/modules/ubluepy: Adding constants that can be used from micropython for public and random static address types.

* nrf5/modules/ubluepy: Adding support for optionally setting address type in Peripheral.connect(). Public address is used as default. Address types can be retrieved from 'constants'. Either constants.ADDR_TYPE_PUBLIC or constants.ADDR_TYPE_RANDOM_STATIC.

* nrf5/modules/ubluepy: Register central GAP event handler before issuing connect to a peripheral. Has to be done before connect() function as a connected event will be propergated upon successfull connection. The handler will set the connection handle which gets connect function out of the busy loop waiting for connection to succeed.

* nrf5/modules/ubluepy: Removing duplicate setting of GAP event handler in connect().
2017-05-13 16:12:14 +02:00
Glenn Ruben Bakke
0865fbd92d nrf5/modules/ubluepy: Register central GAP event handler before issuing connect to a peripheral. Has to be done before connect() function as a connected event will be propergated upon successfull connection. The handler will set the connection handle which gets connect function out of the busy loop waiting for connection to succeed. 2017-05-13 15:06:58 +02:00
Scott Shawcroft
790c38e18c atmel-samd: Rework boot, main and REPL order.
Boot will only run once now before USB is started. Its output goes to
boot_out.txt. After main and REPL will run with VM and hardware resets
between each.
2017-05-12 18:26:14 -07:00
Scott Shawcroft
7672bf7736 atmel-samd: Rename auto-reset to auto-reload to reduce confusion with physical reset buttons. 2017-05-12 16:45:38 -07:00
Scott Shawcroft
e0f931afd3 atmel-samd: Fix pin reset to ensure USB and SWD are not reset. 2017-05-12 16:09:13 -07:00
Scott Shawcroft
e1a6f6d584 atmel-samd: Rework SPI flash defines for clarity.
Also add sector protection support for the SAMD Xplained board.
2017-05-12 14:47:39 -07:00
Scott Shawcroft
7ea76e0889 atmel-samd: Pin reset improvements.
* Reset SWD lines to SWD rather than GPIO. This makes OpenOCD happier.
* Default speaker enable lines to False for CircuitPlayground to prevent
  the speaker from buzzing when no sound is playing. Fixes #126
2017-05-12 13:14:01 -07:00
Scott Shawcroft
6984425f5d atmel-samd: Correctly wait for the SPI DMA transaction to finish. 2017-05-12 13:13:50 -07:00
Glenn Ruben Bakke
18e73d4214 nrf5/modules/ubluepy: Fixing compilation bug of wrong variable name when registering gattc event handler in ublupy peripheral connect function (central mode). 2017-05-12 20:11:30 +02:00
Glenn Ruben Bakke
96b203b729 nrf5/bluetooth: Updating makefiles with updated paths to bluetooth le components after moving files. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
3d503cf7a8 nrf5/bluetooth: Moving stack download script to drivers/bluetooth folder. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
bdaa714f85 nrf5/bluetooth: Move bluetooth driver files to drivers/bluetooth. Move bluetooth stack download script to root folder. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
e69e47bc24 nrf5/bluetooth: Guarding implementation against being linked in by surrounding it with BLUETOOTH_SD flag. Flag is only set if SD=<sdname> parameter is provided during make. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
4676e5900b nrf5/bluetooth: Moving makefile include folder and source files of bluetooth driver, ble uart and ble module to main Makefile. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
d61dcf18fb nrf5/bluetooth: Moving help_sd.h and modble.c to modules/ble. 2017-05-11 19:13:20 +02:00
Scott Shawcroft
c138d0f025 Merge pull request #128 from ntoll/master
Rename LEFT_BUTTON -> BUTTON_A, RIGHT_BUTTON -> BUTTON_B.
2017-05-11 10:04:05 -07:00
Nicholas H.Tollervey
f3152571c6
Rename LEFT_BUTTON -> BUTTON_A, RIGHT_BUTTON -> BUTTON_B. 2017-05-11 14:48:17 +01:00
Glenn Ruben Bakke
b245011259 nrf5/modules/machine: bugfix after changing to MP_ROM_PTR in machine module local dict. 2017-05-11 00:08:44 +02:00
Glenn Ruben Bakke
54656044f7 nrf5: Syncing code with upstream master and converting all module and method tables to use MP_ROM macros. Also adding explicit casting of local dicts to (mp_obj_dict_t*). 2017-05-09 22:54:58 +02:00
Glenn Ruben Bakke
00d96f5695 nrf5/modules/timer: Fixing bug in timer_find(). Function allowed to locate index out of range and started to look up in config pointer (index == size of array). 2017-05-08 23:32:42 +02:00
Glenn Ruben Bakke
1063a44ec6 nrf5/modules/timer: Remove test which is covered by timer_find() function in the line below. 2017-05-08 23:31:14 +02:00
Glenn Ruben Bakke
2cf9e3e625 nrf5/modules/timer: Adding locals dict table and adding start/stop template functions. Also adding constants for oneshot and periodic to locals dict. 2017-05-08 23:24:15 +02:00
Glenn Ruben Bakke
9e6cca66b4 nrf5/modules/timer: Adding timer module to modmachine. 2017-05-08 23:09:15 +02:00
Glenn Ruben Bakke
891bd61bf7 Merge remote-tracking branch 'upstream/master' into nrf5_no_sdk 2017-05-08 22:21:56 +02:00
Glenn Ruben Bakke
bf79699810 nrf5/boards: Adding micro:bit default music pin definition. Also adding config flag for enabling pwm machine module. 2017-05-08 22:16:59 +02:00
Glenn Ruben Bakke
130a00fdeb nrf5/hal/timer: Adding start/stop template functions to hal_timer.h/.c 2017-05-08 22:10:02 +02:00
Glenn Ruben Bakke
64f91e01ac nrf5/Makefile: Adding drivers/pwm.c and modules/music files to the source file list. 2017-05-08 22:06:25 +02:00
Glenn Ruben Bakke
d3509517f5 nrf5/modules/music: Adding config guard in musictunes.c and adding import of mphal.h. 2017-05-08 22:05:23 +02:00
Glenn Ruben Bakke
a84ed760b5 nrf5/modules/music: Including mphal.h before config guard in modmusic.c. Also changed name on config guard to MICROPY_PY_MUSIC. Missing PWM functions during linkage will show up if PWM module has not not configured. 2017-05-08 22:03:33 +02:00
Glenn Ruben Bakke
24e902aa8f nrf5/drivers/pwm: Including mphal.h before config guard in pwm.c. 2017-05-08 22:01:47 +02:00
Glenn Ruben Bakke
cf1c6939ea nrf5: Updating mpconfigport.h to include music module as builtin. Adding new configuration for enabling music module. Activating MODULE_BUILTIN_INIT in order to run music module init function on import. 2017-05-08 22:01:05 +02:00
Glenn Ruben Bakke
c3ccef800d nrf5/modules/music: Backing up progress in music module. 2017-05-08 21:22:53 +02:00
Glenn Ruben Bakke
8d06dd3281 nrf5/drivers/pwm: Updating soft PWM driver to only be included if SOFT_PWM config is set. 2017-05-08 21:21:57 +02:00
Glenn Ruben Bakke
a4513f0159 nrf5/hal/gpio: Add function to clear output register using a pin mask. 2017-05-08 21:20:08 +02:00
Glenn Ruben Bakke
94efa02084 nrf5: Adding new configuration called MICROPY_PY_MACHINE_SOFT_PWM to mpconfigport.h. This config will enable software defined PWM using timer instead of using dedicated PWM hardware. Aimed to be used in nrf51 targets. 2017-05-08 21:14:34 +02:00
Glenn Ruben Bakke
ad6a1d9136 nrf5/boards: Removing PWM config set to 0 from pca10001 board. Config will later be re-introduced as SOFT_PWM variant. 2017-05-08 21:11:21 +02:00
Glenn Ruben Bakke
10cbc83cf0 nrf5/pwm: Updating config name of PWM to hardware PWM to prepare for introduction of soft variant. 2017-05-08 21:10:18 +02:00
Scott Shawcroft
ef1a4847b3 shared-bindings: Correct PulseIn.resume to match docs. Fixes #125 2017-05-08 11:14:23 -07:00
Scott Shawcroft
c6d539ace3 atmel-samd: Fix sporadic "syntax errors"
The GC was deleting memory that was in use because its scan of the
stack missed the very top. Switching to _estack fixes this by relying
on the location from the linker.

Fixes #124
2017-05-05 12:04:20 -07:00
Scott Shawcroft
5ad426124b atmel-samd: Move heap objects into MICROPY_PORT_ROOT_POINTERS so they don't get garbage collected while we are using them. 2017-05-04 11:57:51 -07:00
Glenn Ruben Bakke
311ae77dc0 nrf5/modules/music: Backing up progress in modmusic. 2017-05-04 00:18:05 +02:00
Scott Shawcroft
6512ccf32e atmel-samd: Use DMA for user SPI.
Also replace use of PINMUX_DEFAULT with PINMUX_UNUSED to prevent any
accidental pin changes. This caused user SPI to break internal SPI
flash on the Feather M0 Express.

Fixes #100
2017-05-03 10:50:29 -07:00
Scott Shawcroft
24a5752f94 atmel-samd: Use DMA for SPI flash block transfers.
Fixes #99
2017-05-02 15:25:06 -07:00
Glenn Ruben Bakke
a7f10336e1 nrf5/modules/music: backing up porting progress in modmusic.c. 2017-05-02 22:40:31 +02:00
Glenn Ruben Bakke
d170ca5d03 nrf5/modules/music: Commenting out backend function calls in modmusic.c to make module compile for now. 2017-05-02 21:50:54 +02:00
Limor "Ladyada" Fried
a2c463deb0 Update AudioOut.c
fiiiiiiiiiiiiiiiiiiiiiiiiix
2017-05-01 23:32:37 -04:00
Glenn Ruben Bakke
57442c2b25 nrf5/modules/music: Updating music module to use pin_obj_t instad of microbit_pin_obj_t. Update include to drivers/pwm.h to resolve some undefined functions. 2017-05-02 01:09:59 +02:00
Glenn Ruben Bakke
40b37227a0 nrf5/drivers/pwm: Work in progress commit of soft PWM from microbit repo. 2017-05-02 01:07:52 +02:00
Scott Shawcroft
7187132d24 tools: Switch method of detecting travis so that it works OK on CIs without artifacts saved. 2017-05-01 15:12:52 -07:00
Scott Shawcroft
dd64379c0d py: Fix version header generation when no tags are available. 2017-05-01 15:12:52 -07:00
Scott Shawcroft
58b9789d0c atmel-samd: Introduce audio sample playback via audioio.AudioOut. 2017-05-01 13:10:03 -07:00
Scott Shawcroft
30b8091df0 atmel-samd: Clean up leftovers from QTouch. 2017-05-01 11:32:15 -07:00
Scott Shawcroft
4ad22144b0 atmel-samd: Rename metro M0 Express and add NEOPIXEL pin. 2017-05-01 11:29:51 -07:00
Glenn Ruben Bakke
10e6b4309b nrf5/modules/music: Removing c++ extern definition. Updating include list in modmusic.c. Removing module name from module struct. 2017-05-01 19:55:43 +02:00
Glenn Ruben Bakke
01441c8f59 nrf5/modules/music: Removing include of modmicrobit.h in musictunes.c. 2017-05-01 19:52:40 +02:00
Glenn Ruben Bakke
e766c7ebbe nrf5/modules/music: Adding header to expose extern structs defined in musictunes.c 2017-05-01 19:51:47 +02:00
Glenn Ruben Bakke
5c6fc791e3 nrf5/drivers: Adding copy of microbit soft pwm. 2017-05-01 19:13:50 +02:00
Glenn Ruben Bakke
eedd9eabe9 nrf5/modules/music: Renaming microbitmusic files to modmusic/music. 2017-05-01 19:11:44 +02:00
Glenn Ruben Bakke
20bdb7dc90 nrf5/modules/music: Renaming microbit module to music. 2017-05-01 19:08:36 +02:00
Glenn Ruben Bakke
f9b9d59434 nrf5/modules/microbit: Copying microbit music module to the port. 2017-05-01 19:06:49 +02:00
Glenn Ruben Bakke
1c756af9a4 nrf5/modules/timer: Adding timer3 and timer4 to timer object in case of nrf52 target. 2017-04-30 20:18:46 +02:00
Glenn Ruben Bakke
a0638880b3 nrf5/modules/timer: Optimizing timer object structure and updating the module to use new hal_timer_init structures and parameters. 2017-04-30 20:15:03 +02:00
Glenn Ruben Bakke
0437fafaac nrf5/hal/timer: Adding empty IRQ handlers for all timers. 2017-04-30 19:42:54 +02:00
Glenn Ruben Bakke
7449f8d861 nrf5/hal/timer: Changing hardcoded hal timer instance base to a lookup, so that IRQ num can be detected automatically without the need of using struct param on it. Size of binary does not increase when using Os. 2017-04-30 19:42:19 +02:00
Glenn Ruben Bakke
7aa7bad78a nrf5: Updating example in main.c on how to execute string before REPL is set up, to allow for boards with two leds. Todo for later is to update this code such that it will skip this LED toggle when there are no leds defined. Or use an example not depending on LEDs. 2017-04-29 19:50:50 +02:00
Glenn Ruben Bakke
976785e1d5 nrf5/bluetooth: Updating Bluetooth LE stack download script to allow to be invoked from any parent folder. No need to change directory to bluetooth/ in order to get the correct download target folder position. Using the script location to determine the target folder. 2017-04-26 19:18:27 +02:00
Glenn Ruben Bakke
7bcc61b0c1 nrf5/boards: Adding board target for feather52 using s132 v.2.0.1 application offset even if the device is not using softdevice. To be worked on later. 2017-04-26 00:18:10 +02:00
Glenn Ruben Bakke
97d46bae6a nrf5/boards: decrease size of ISR region from 4k to 1k in custom feather52 linker script to get some more flash space. 2017-04-26 00:16:19 +02:00
Glenn Ruben Bakke
3286d81a48 nrf5/boards: Updating feather52 mpconfigboard.h to use correct uart pins, flow control disabled. Also adjusting leds down to two leds. 2017-04-26 00:15:14 +02:00
Glenn Ruben Bakke
5f4798b0f2 nrf5/boards: Updating path to custom linker script for feather52 board. 2017-04-25 21:55:50 +02:00
Glenn Ruben Bakke
50bb18015a nrf5/boards: Renaming bluefruit_nrf52_feather to feather52 to shorten down the name quite drastically. 2017-04-25 21:54:35 +02:00
Glenn Ruben Bakke
6f6c5d30e8 nrf5/boards: Updating path to custom bluefruit feather linker script after renaming board folder. 2017-04-25 21:51:10 +02:00
Glenn Ruben Bakke
4ae600be8a nrf5/boards: Renaming bluefruit_feather to bluefruit_nrf52_feather as it also exist a m0 variant of the board name. 2017-04-25 21:49:17 +02:00
Glenn Ruben Bakke
8aa6e0388e nrf5/boards: Updating mpconfigboard.h for bluefruit nrf52 feather with correct board, mcu and platform name. 2017-04-25 21:48:01 +02:00
Glenn Ruben Bakke
195c492419 nrf5/boards: Updating adafruit bluefruit nrf52 feather linker script to use 0x1c000 application offset. 2017-04-25 21:44:01 +02:00
Scott Shawcroft
541d22e8d0 Update the README with new links. 2017-04-25 11:28:47 -07:00
Glenn Ruben Bakke
8429d022e1 nrf5/boards: Renaming custom linker script for bluefruit feather to reflect that the purpose of the custom linker script is DFU. The script is diverging from the generic s132 v2 linker script in the offset of the application. 2017-04-25 08:53:52 +02:00
Glenn Ruben Bakke
7043680f1f nrf5/boards: Adding custom linker script for adafruit nrf52 bluefruit feather to be able to detect application upper boundry in flash. Pointing s132 mk file to use this new custom linker script instead of the generic s132 v2 linker script. 2017-04-25 08:49:18 +02:00
Glenn Ruben Bakke
ec6502c1ea nrf5/boards: Adding linker script for nrf52832 s132 v.2.0.1. 2017-04-24 23:29:05 +02:00
Glenn Ruben Bakke
0ba9c62940 nrf5/boards: Adding template board makefiles and configs for bluefruit nrf52 feather. Copied from pca10040 target board. Linker script reference updated to use s132 v2.0.1. Non-BLE enable build disabled for now. Board configuration for leds, uart etc has not been updated yet from pca10040 layout. 2017-04-24 23:25:25 +02:00
Glenn Ruben Bakke
44fc96c8a9 nrf5/bluetooth: Correcting typo in test where s132 API version is settled. 2017-04-24 23:14:04 +02:00
Glenn Ruben Bakke
f68fb8499d nrf5/bluetooth: Updating bluetooth le driver to compile with s132 v.2.0.1 stack. 2017-04-24 23:05:08 +02:00
Glenn Ruben Bakke
2adad5f2a6 nrf5/bluetooth: Add new compiler flag to signal API variants of the s132 bluetooth le stack. The version is derived from the major number of the stack name. 2017-04-24 23:03:54 +02:00
Glenn Ruben Bakke
9abd38a3f2 nrf5/bluetooth: Remove hardcoded softdevice version as this now comes as parameter from board makefile. 2017-04-24 22:29:48 +02:00
Glenn Ruben Bakke
3c8323aff4 nrf5/boards: Updating makefiles using bluetooth stack to use updated linker script file names. 2017-04-24 22:28:08 +02:00
Glenn Ruben Bakke
f4fd45bef3 nrf5/boards: Renaming bluetooth stack linker scripts to reflect version of the stack. 2017-04-24 22:22:17 +02:00
Glenn Ruben Bakke
bccfc7262d nrf5/boards: adding some spaces in s132 makefile for pca10040. 2017-04-24 22:18:46 +02:00
Glenn Ruben Bakke
582db669b6 nrf5/boards: Renaming linker script for nrf52832 using bluetooth stack such that it also holds the version number of the stack. Updating linkerscript using the target linker script. 2017-04-24 22:02:41 +02:00
Glenn Ruben Bakke
39d3d7bb28 nrf5/bluetooth: Add support for downloading s132_2.0.1 bluetooth stack. 2017-04-24 21:56:28 +02:00
Glenn Ruben Bakke
3f96532952 nrf5/bluetooth: Switch over to downloaded bluetooth stacks from nordicsemi.com instead of getting them through the SDK's. This will facilitate download of s132 v2.0.0 later. 2017-04-24 21:46:28 +02:00
Glenn Ruben Bakke
9d91e990f7 Merge branch 'master' into nrf5_no_sdk 2017-04-23 18:39:24 +02:00
Glenn Ruben Bakke
ca43f42b78 nrf5/bluetooth: Fixing bug found when testing microbit. Newly introduced advertisment data pointer was not cleared on nrf51 targets. Explicit set to NULL as no additional advertisment data is set. Raises a question on why the nrf51 static variable was not zero initialized. To be checked up. 2017-04-23 18:35:31 +02:00
Glenn Ruben Bakke
f6e612f7d7 nrf5: Removing SDK_ROOT parameter to Makefile. Bluetooth stacks should be downloaded using the download_ble_stack.sh. The script should be run inside the bluetooth folder to work properly. 2017-04-21 18:58:57 +02:00
Glenn Ruben Bakke
a76ff755e3 nrf5/bluetooth: Adding back SOFTDEV_HEX as flash tools in main Makefile uses this to locate hex file. 2017-04-21 18:55:59 +02:00
Glenn Ruben Bakke
10b7f3ef83 nrf5/bluetooth: Including bluetooth stack version in folder name after download to be able to detect if stack has been updated. 2017-04-21 18:46:32 +02:00
Glenn Ruben Bakke
7501ecec8e nrf5/bluetooth: Updating Bluetooth LE stack download script. 2017-04-21 18:23:48 +02:00
Scott Shawcroft
ef44cec1f1 travis: turn off artifact debug. 2017-04-20 17:02:59 -07:00
Scott Shawcroft
9a5ff7766e travis: working_dir doesn't work as expected. Try and fix it. 2017-04-20 16:48:29 -07:00
Scott Shawcroft
bc152da3a6 atmel-samd: Remove debug prints from TouchIn 2017-04-20 16:48:04 -07:00
Scott Shawcroft
4c77f84034 travis: artifact upload tweaks. 2017-04-20 16:18:30 -07:00
Scott Shawcroft
f66fcbfa4f travis: Don't try and build ESP8266 2017-04-20 15:14:37 -07:00
Glenn Ruben Bakke
f6f8097f77 nrf5/bluetooth: Adding bash script to automate download of bluetooth le stacks 2017-04-20 23:54:28 +02:00
Scott Shawcroft
bac3a7dcc1 travis: Fix typo 2017-04-20 14:12:14 -07:00
Scott Shawcroft
98667b1af8 Turn on build saving and uf2 creation. 2017-04-20 14:04:06 -07:00
Scott Shawcroft
a9d25bfae4 atmel-samd: Update CircuitPlayground Express pins for Rev G. 2017-04-20 11:25:57 -07:00
Scott Shawcroft
939c0045db Switch to a shared piece of code to compute start and length of a
buffer from start, end and length. The old code miscomputed length
leading to writing and reading from memory past the end of the buffer.
Consolidating the code should make it easier to get right everywhere.
2017-04-20 11:24:05 -07:00
Scott Shawcroft
076ff82c46 atmel-samd: Switch to https for freetouch submodule. 2017-04-18 12:34:03 -07:00
Glenn Ruben Bakke
aa32dcd0fd nrf5/examples: Adding example to show how to use current PWM module to control servo motors. 2017-04-18 21:03:14 +02:00
Glenn Ruben Bakke
071e551b79 nrf5/modules/machine: Updating PWM module with two new kwargs parameters. One for setting pulse with more fine grained. This value should not exceed the period value. Also, adding support for setting PWM mode, whether it is LOW duty cycle or HIGH duty cycle. By default, high to low is set (this could be changed). 2017-04-18 21:00:52 +02:00
Glenn Ruben Bakke
d0d350da16 nrf5/hal/pwm: Updating PWM implementation to support manually set duty cycle period. Pulse width has precidence over duty cycle percentage. Also adding support for the two configurable modes, high to low, and low to high, duty cycles. 2017-04-18 20:56:19 +02:00
Glenn Ruben Bakke
4d56f2a76d nrf5/hal/pwm: Adding more configuration options to the PWM peripheral wrapper. Possibility to set pulse with manually, and also mode. The mode indicates whether duty cycle is low and then goes high, or if it is high and then go low. Added new type to describe the two modes. 2017-04-18 20:53:55 +02:00
Scott Shawcroft
b97edd4465 atmel-samd: Turn on framebuf for Express boards because they have space. 2017-04-18 09:44:04 -07:00
Scott Shawcroft
8d0d5defc7 atmel-samd: Use LTO for all builds to get 5000 bytes back on express boards. 2017-04-18 09:44:04 -07:00
Scott Shawcroft
ca176535a9 esp8266: Fix busio.SPI to take both MOSI and MISO. 2017-04-18 09:44:04 -07:00
Scott Shawcroft
67ec52d7a9 atmel-samd: Swap out pulseio for touchio based on FreeTouch. 2017-04-18 09:44:04 -07:00
Scott Shawcroft
225fdb0307 Merge pull request #118 from dhalbert/master
atmel-samd: HID report descriptor for mouse had to be COMPILER_WORD_ALIGNED
2017-04-15 11:05:48 -07:00
Dan Halbert
2fe6b74e90 atmel-samd: HID report descriptor for mouse had to be COMPILER_WORD_ALIGNED. 2017-04-15 10:18:56 -04:00
Scott Shawcroft
b653c3c8fc Correct PulseOut example code 2017-04-13 17:52:13 -07:00
Scott Shawcroft
f37ce1c595 atmel-samd: Turn off PulseIn interrupts on reset. Can hardfault otherwise. 2017-04-13 17:50:06 -07:00
Scott Shawcroft
f0e24bd812 atmel-samd: Account for pending ticks in PulseIn. Fixes #116. 2017-04-13 14:47:34 -07:00
Scott Shawcroft
d1b15cf1a3 esp8266: Don't reset TX and RX lines. The pullup is required for
the Adafruit Huzzah Breakout because it has a diode to protect
against 5v logic which effectively blocks 1s and relies on the
pull up to produce them.
2017-04-13 14:15:06 -07:00
Scott Shawcroft
4a4f29b8f9 atmel-samd: Rework status LED implementation
* Track status pin use by user code separately so it can take over the pins and then give them back.
* Switch to hardware SPI for APA102 on Gemma and Trinket.
* Merge microcontroller/types.h into microcontroller/Pin.h to better match approach going forwards.
2017-04-12 15:24:50 -07:00
Scott Shawcroft
8505de1ced atmel-samd: rename cplay_m0_flash to circuitplayground_express and update for new rev (F). 2017-04-11 17:59:02 -07:00
Scott Shawcroft
45dfaa835f atmel-samd: Reset PulseIn correctly on soft reset. 2017-04-11 16:56:06 -07:00
Scott Shawcroft
1e8fc15a41 atmel-samd: Fix PulseIn duration math to handle case when current us time is after the last one but more than a ms has passed. 2017-04-11 16:55:42 -07:00
Glenn Ruben Bakke
2d7f39855b nrf5: Adding hal_gpio.c to Makefile's source list. 2017-04-11 13:59:54 +02:00
Glenn Ruben Bakke
1e79bdf0b4 nrf5/modules/machine: Updating Pin module to register a IRQ callback upon GPIO polarity change events. 2017-04-11 13:58:58 +02:00
Glenn Ruben Bakke
81aaf6e906 nrf5/hal/gpio: Adding initial gpiote implementation to handle IRQ on polarity change on a gpio. 2017-04-11 13:57:44 +02:00
Glenn Ruben Bakke
fb53bdf07c nrf5: Moving initialization of pin til after uart has been initialized for debugging purposes. This will make it possible to use uart to print out debug data when adding gpio irq handlers. 2017-04-11 13:55:01 +02:00
Glenn Ruben Bakke
adf316afaa nrf5/hal/gpio: Adding some new structures and functions to register irq channels to gpio's using GPIOTE peripheral 2017-04-11 13:53:37 +02:00
Scott Shawcroft
f28f8ba568 Split up nativeio.
This was done to allow greatly granularity when deciding what functionality
is built into each board's build. For example, this way pulseio can be
omitted to allow for something else such as touchio.
2017-04-10 13:32:19 -07:00
Glenn Ruben Bakke
f8c0a51f5e nrf5/hal/gpio: Adding missing include. 2017-04-09 23:47:44 +02:00
Glenn Ruben Bakke
c7c2285ab9 nrf5/modules/machine: Style fix in pin object, indention. 2017-04-09 23:19:26 +02:00
Glenn Ruben Bakke
320b9ecde7 nrf5/modules/machine: Adding placeholder for irq method to pin object class. 2017-04-09 23:18:00 +02:00
Glenn Ruben Bakke
2c90d94dc7 nrf5/modules/machine: Adding pin irq type and basic functions and structures. 2017-04-09 23:16:07 +02:00
Glenn Ruben Bakke
a93d462dfd nrf5/hal/gpio: Reintroducing gpio polarity toggle event to be able to reference the short form of adding high_to_low and low_to_high together. 2017-04-09 23:02:37 +02:00
Glenn Ruben Bakke
435bc5a3d4 nrf5/hal/gpio: Updating hal_gpio.h with some tab-fixes in order to make the file a bit consistent in style. 2017-04-09 21:56:28 +02:00
Glenn Ruben Bakke
8c45aca8d2 nrf5/hal/gpio: Removing toggle event from the enumeration as that will be a combination of the rising and falling together. 2017-04-09 21:54:09 +02:00
Glenn Ruben Bakke
6446105689 nrf5/modules/machine: Removing toggle event trigger as that will be a combination of the rising and falling together. 2017-04-09 21:52:57 +02:00
Glenn Ruben Bakke
32083a9443 nrf5/modules/machine: Adding new constants to pin object for polarity change triggers using the enumerated values in hal_gpio.h. 2017-04-09 21:50:11 +02:00
Glenn Ruben Bakke
07edf4f26d nrf5/hal/gpio: Adding new enumeration for input polarity change events. 2017-04-09 21:49:02 +02:00
Glenn Ruben Bakke
3b15d33809 nrf5/hal: Moving hal_gpio functions, types and defines from mphalport.h to a new hal_gpio.h. 2017-04-09 21:39:15 +02:00
Glenn Ruben Bakke
800a399182 Revert "lib/netutils: Adding some basic parsing and formating of ipv6 address strings. Only working with full length ipv6 strings. Short forms not supported at the moment (for example FE80::1, needs to be expressed as FE80:0000:0000:0000:0000:0000:0000:0001)."
This reverts commit 4344d41b36.
2017-04-09 18:58:05 +02:00
Glenn Ruben Bakke
35f9c8f37f nrf5: Removing leftover reference to deleted display module. 2017-04-09 18:55:53 +02:00
Glenn Ruben Bakke
d7cfae3639 nrf5/usocket: Removing network modules related to Bluetooth 6lowpan implementation as it depends on SDK libraries for now. Will be moved to seperate working branch. 2017-04-09 18:53:58 +02:00
Glenn Ruben Bakke
4dd86178bc nrf5: Removing custom display, framebuffer and graphics module to make branch contain core components instead of playground modules. 2017-04-09 18:25:15 +02:00
Glenn Ruben Bakke
a026d3475f nrf5/modules/usocket: Updating import of netutils.h after upmerge with upstream master. 2017-04-09 17:48:48 +02:00
Glenn Ruben Bakke
360243af92 Merge branch 'master' into nrf5_no_sdk 2017-04-09 17:45:32 +02:00
Glenn Ruben Bakke
5d06aa3260 nrf5/bluetooth: Add some comment on the destination of the eddystone short-url. 2017-04-09 15:52:21 +02:00
Glenn Ruben Bakke
b92b55bdd0 nrf5/bluetooth: Updating Eddystone URL to point to https://goo.gl/x46FES which hosts the MicroPython WebBluetooth application which will be able to connect to the Bluetooth LE UART service of the device and create the REPL. 2017-04-09 15:36:34 +02:00
Glenn Ruben Bakke
a4173c467f nrf5/bluetooth: Adding webbluetooth REPL template. Alternating advertisment of eddystone URL and UART BLE service every 500 ms. Adding new config parameter to bluetooth_conf.h to enable webbluetooth repl. Has to be configured in combination with BLE_NUS. Eddystone URL not pointing to a valid WebBluetooth application at the moment, but rather to micropython.org as a placeholder for now. 2017-04-04 22:31:17 +02:00
Glenn Ruben Bakke
587c6277c4 nrf5/modules/ubluepy: Adding method Peripheral object to stop any ongoing advertisment. Adding compile guard to only include advertise and advertise_stop if peripheral role is compiled in. 2017-04-04 21:25:28 +02:00
Glenn Ruben Bakke
31feea4511 nrf5/bluetooth: Adding function to stop advertisment if onging 2017-04-04 21:22:49 +02:00
Glenn Ruben Bakke
46c21ff6ba nrf5/modules/ubluepy: Adding support for starting advertisment from BLE UART REPL, by delaying registration of gatt/gatts and gattc handlers until needed in advertise or connect. If non connectable advertisment is selected, handlers in peripheral new is not anymore overriding the other peripheral instances which has set the callbacks. 2017-04-04 20:24:43 +02:00
Glenn Ruben Bakke
0559be4ffc nrf5/bluetooth: Adding possibility to configure whether advertisment should be connectable or not. 2017-04-02 18:34:56 +02:00
Glenn Ruben Bakke
ce6221ef61 nrf5/bluetooth: Removing legacy advertise function in the bluetooth driver, which only did a hardcoded eddystone beacone advertisment. 2017-04-02 16:55:47 +02:00
Glenn Ruben Bakke
e5fc082366 nrf5/help: Updating ble module help description to also include the address method. 2017-04-02 16:44:37 +02:00
Glenn Ruben Bakke
6fcb0a40e9 nrf5/bluetooth: Renaming the ble module method address_print() to address(), as it will now return a string of the resolved local address. Updating the function to create a string out the local address and return this. 2017-04-02 16:43:16 +02:00
Glenn Ruben Bakke
7e52da7ccb nrf5/bluetooth: Update ble_drv_address_get to new api which pass in a address struct to fill by reference. Updating implementation to copy the address data. Also ensuring that the bluetooth stack has been enabled before fetching the address from the bluetooth stack. 2017-04-02 16:41:08 +02:00
Glenn Ruben Bakke
1402574b7d nrf5/bluetooth: Adding new structure which can hold local address. Updating api prototype for ble_drv_address_get with a address structure by reference. 2017-04-02 16:39:14 +02:00
Glenn Ruben Bakke
e3773e899f nrf5/bluetooth: Updating help text for ble module to also list up enabled() function which queries the bluetooth stack on whether it is enabled or not. 2017-04-02 16:17:39 +02:00
Glenn Ruben Bakke
c7f0069aac nrf5/bluetooth: Removing advertise from ble module. Removing help text as well. 2017-04-02 16:14:48 +02:00
Glenn Ruben Bakke
c8097eb470 nrf5/examples: Adding python eddystone example using ubluepy api. 2017-04-02 15:51:00 +02:00
Glenn Ruben Bakke
f7fbf55a45 nrf5/modules/ubluepy: Open up Peripheral advertise method to pass custom data to the bluetooth driver. Allowing method to allow kwargs only if no args is set. To support setting data kwarg only. 2017-04-02 15:50:07 +02:00
Glenn Ruben Bakke
58238a43b3 nrf5/modules/ubluepy: Adding new members to the ublupy advertisment parameters, to hold custom data payload if set. 2017-04-02 15:48:32 +02:00
Glenn Ruben Bakke
52c07e7cb2 nrf5/bluetooth: Cleaning up stack enable function, to not set device name twice. Also, adding support for setting custom advertisment data. 2017-04-02 15:45:02 +02:00
Glenn Ruben Bakke
5f645b6c8e nrf5/modules/ubluepy: Adding compile guard for UBLUEPY_CENTRAL around the char_read() call to ble_drv_attr_c_read(). 2017-04-02 00:31:28 +02:00
Glenn Ruben Bakke
84e5b828ea nrf5/bluetooth: Moving central code inside central bluetooth stack defines to make peripheral only code compile again. 2017-04-02 00:30:16 +02:00
Glenn Ruben Bakke
460f6dee50 nrf5/examples: Updating ubluepy scan example to use constant value from ubluepy instead of hardcoded value. 2017-04-01 22:50:37 +02:00
Glenn Ruben Bakke
9568e07159 nrf5/examples: Adding example on how to use the ubluepy Scanner object in order to scan for a device name and find the address of the device. This can subsequently be used to perform a Central role connect() using the Peripheral object. 2017-04-01 22:45:11 +02:00
Glenn Ruben Bakke
33b1028b50 nrf5/modules/ubluepy: Turn all attributes (addr, addr_type and rssi) to method calls instead of using common .attr callback. Adding getScanData implementation, which parses the advertisment data and returns a list of tuples containing (ad_type, desc, value). Description is generated by peeking into the ad_types local dicts map table, and do a reverse lookup on the value to find the QSTR. 2017-04-01 22:43:54 +02:00
Glenn Ruben Bakke
bb196a2b09 nrf5/modules/ubluepy: Adding ad_types constants in new object. Linking in ad_types object into the ubluepy.constants local dict. 2017-04-01 22:37:39 +02:00
Glenn Ruben Bakke
0887b95bb9 nrf5/modules/ubluepy: Expose ubluepy constant objects as externs in modubluepy.h to be able to get access to the local dict tables in order to do a reverse lookup on value to resolve QSTR from external modules in c. 2017-04-01 22:34:51 +02:00
Glenn Ruben Bakke
706bc97c92 nrf5/modules/ubluepy: Upon advertisment event, also store the advertisment data. 2017-04-01 22:32:55 +02:00
Glenn Ruben Bakke
276073b494 nrf5/modules/ubluepy: Adding callback function to handle read response if gatt client has issued a read request. Also adding method for returning the uuid instance from the object. 2017-04-01 16:39:51 +02:00
Glenn Ruben Bakke
5a7ab4686c nrf5/modules/ubluepy: Adding value data member to the characteristic object. This can hold the value data when gatt client perform a read and value has to be transferred between interrupt and main thread. 2017-04-01 16:36:15 +02:00
Glenn Ruben Bakke
c88358d84b nrf5/bluetooth: Updating bluetooth driver to support GATT client read of a characteristic value. Data passed to caller in interrupt context, and copy has to be performed. The function call is itself blocking. 2017-04-01 16:34:26 +02:00
Glenn Ruben Bakke
bb7130a813 nrf5/modules/ubluepy: Adding uuid() function to service object to return UUID instance of the service. 2017-03-31 21:52:59 +02:00
Glenn Ruben Bakke
f9a351d527 nrf5/modules/ubluepy: Adding binVal() function to the ubluepy UUID object. For now returning the uint16_t value of the UUID as a small integer. 2017-03-31 21:51:57 +02:00
Glenn Ruben Bakke
7c6f041b8c nrf5/modules/ubluepy: Adding dummy function call to ble_drv_attr_c_read. 2017-03-30 23:44:00 +02:00
Glenn Ruben Bakke
d24809a2aa nrf5/bluetooth: Adding new api for reading attribute as gatt client. Renaming old ble_drv_attr_read function to ble_drv_attr_s_read to indicate the server role. 2017-03-30 23:43:44 +02:00
Glenn Ruben Bakke
93b76a66d3 nrf5/bluetooth: Adding event handling cases for gatt client read, write and hvx events. 2017-03-30 23:18:49 +02:00
Glenn Ruben Bakke
ebb7925a16 nrf5/modules/ubluepy: Tab-fix 2017-03-30 22:53:25 +02:00
Glenn Ruben Bakke
bd2981681f nrf5/modules/ubluepy: Updating peripheral object to handle characteristic discovery (central mode). 2017-03-30 22:47:14 +02:00
Glenn Ruben Bakke
31a71517ab nrf5/modules/ubluepy: Adding start and end handle to service object. 2017-03-30 22:42:08 +02:00
Glenn Ruben Bakke
2200c4c084 nrf5/bluetooth: Adding support for central characteristic service discovery. Updating primary service discovery to block until all services has been created in the peripheral object before returning from the bluetooth driver. This pattern is also applied to the characteristic discovery. 2017-03-30 22:41:19 +02:00
Glenn Ruben Bakke
75148ee6ca nrf5/modules/ubluepy: Updating ubluepy peripheral object to new bluetooth driver API. Starting to populate service objects and uuid objects. Also adding the service to the peripheral object throught the regular static function for adding services. Handle value for the primary service is assuming that it is the first element in the handle range; start_handle reported by the service discovery. 2017-03-29 23:37:32 +02:00
Glenn Ruben Bakke
5b778790ae nrf5/bluetooth: Updating bluetooth driver to do service discovery, doing callbacks to ubluepy upon each individual primary service discovered. Using intermediate structure defined by the driver, to abstract bluetooth stack specific data in ubluepy. 2017-03-29 23:34:33 +02:00
Glenn Ruben Bakke
a139d5e8f7 nrf5/modules/ubluepy: Adding some work in progress on service discovery. 2017-03-28 23:40:28 +02:00
Glenn Ruben Bakke
8966c68b92 nrf5/bluetooth: Adding implementation to the discover service function. Adding handler for gatt client primary service discovery response events, and passing this to the ubluepy upon reception. 2017-03-28 23:37:19 +02:00
Glenn Ruben Bakke
61b825d75e nrf5/bluetooth: Adding function parameters and return type to service and characteristic discovery template functions. 2017-03-28 21:20:20 +02:00
Scott Shawcroft
4810722064 esp8266: Change nativeio.I2C to use bitbangio under the hood rather than throwing an error. 2017-03-28 18:54:16 +01:00
Scott Shawcroft
3afa09b2fe atmel-samd: Update Feather M0 Express USB pid. 2017-03-27 20:30:02 +01:00
Scott Shawcroft
f5caf86870 atmel-samd: Add message for when auto reset is off. Fixes #112 2017-03-27 20:12:30 +01:00
Scott Shawcroft
be1ed7aae4 Change to official Feather M0 Express branding. 2017-03-27 19:45:44 +01:00
Glenn Ruben Bakke
06af64a78a nrf5/bluetooth: Adding template functions for service discovery in bluetooth driver. 2017-03-26 22:59:30 +02:00
Glenn Ruben Bakke
0914b34193 nrf5/bluetooth: Adding function to register gattc event handler (central). 2017-03-26 22:57:07 +02:00
Glenn Ruben Bakke
025f07dbab nrf5/bluetooth: Adding intermediate gattc callback function type in bluetooth driver. 2017-03-26 22:51:10 +02:00
Glenn Ruben Bakke
49cce723a9 nrf5/bluetooth: Turning off debug logging in bluetooth driver, which does not work well with bluetooth REPL mode. 2017-03-26 21:06:17 +02:00
Glenn Ruben Bakke
2f2e67e9bd nrf5/bluetooth: Fixing some smaller tab errors in the bluetooth driver. 2017-03-26 21:05:06 +02:00
Glenn Ruben Bakke
cd2149a47f nrf5/bluetooth: Updating bluetooth le driver to handle GAP conn param update request. Also updating minor syntax in previous switch case. 2017-03-26 21:02:25 +02:00
Glenn Ruben Bakke
fb983c7692 nrf5/boards: Inrease heap size in the nrf52832 w/s132 bluetooth stack linker script. 2017-03-26 20:46:23 +02:00
Glenn Ruben Bakke
c230bc021a nrf5/modules/ubluepy: Update connect method to parse dev_addr parameter and pass it to the bluetooth driver, going through a allocated heap buffer. Adding call to the bluetooth driver to issue a connect. Hardcoding address type for now. 2017-03-26 20:45:21 +02:00
Glenn Ruben Bakke
bcf4631e0a nrf5/bluetooth: Updating connect function in the bluetooth driver to do a successful connect to a peripheral device. 2017-03-26 20:43:43 +02:00
Glenn Ruben Bakke
4d147beedb nrf5/modules/ubluepy: Adding template function for central connect() in peripheral object. 2017-03-25 17:51:52 +01:00
Glenn Ruben Bakke
098e64b122 nrf5/modules/ubluepy: Adding locals dict to Scan Entry introducing function to retreive Scan Data. Not working as expected together with .attr. It looks like locals dict functions are treated to be attributes and cannot be resolved. 2017-03-25 17:39:44 +01:00
Scott Shawcroft
ff208d7677 Add low-level OneWire support class.
This class focuses on the timing sensitive parts of the protocol.
Everything else will be done by Python code.

This also establishes that its OK to back a nativeio class with a
bitbang implementation when no hardware acceleration exists. When
it does, then bitbangio should be used to explicitly bitbang a
protocol.
2017-03-25 12:04:49 +00:00
Scott Shawcroft
7cb54864aa Add PulseIn support which can be used to measure a series of pulse widths.
This is useful for infrared input and DHT sensors.
2017-03-24 10:30:15 +00:00
Glenn Ruben Bakke
f38b0ba037 nrf5/bluetooth: Adding function for connecting to a device (in central role). Not yet tested. 2017-03-23 21:03:40 +01:00
Glenn Ruben Bakke
8a884de7b9 nrf5/modules/ubluepy: Return BLE peer address as string instead of bytearray. Updated struct in modubluepy.h to use a mp_obj_t to hold a string instead of a fixed 6-byte array. Stripped down ScanEntry print out to only contain class name, peer address available through addr attribute. 2017-03-22 23:18:41 +01:00
Glenn Ruben Bakke
23163154b9 Merge branch 'master' into nrf5_no_sdk 2017-03-16 22:50:59 +01:00
Glenn Ruben Bakke
327754a953 nrf5/bluetooth: capture address type in addition to advertisment type in bluetooth advertisment reports. 2017-03-16 22:46:26 +01:00
Glenn Ruben Bakke
3468972299 nrf5/modules/ubluepy: Correcting rssi member in scan_entry object to be int instead of uint. 2017-03-14 23:18:51 +01:00
Glenn Ruben Bakke
442e46f4be nrf5/modules/ubluepy: Adding attribute to ScanEntry object for getting address (returning bytearray), type (returning int) and rssi (returning int). 2017-03-14 23:14:55 +01:00
Glenn Ruben Bakke
609a174f8d nrf5/modules/ubluepy: Copy address type and rssi to the ScanEntry object upon reception of an advertisment report callback. 2017-03-14 23:13:13 +01:00
Glenn Ruben Bakke
cbfba08ae7 nrf5/bluetooth: Adding address type to bluetooth stack driver advertisment structure, and fill the member when advertisment report is received. 2017-03-14 23:12:24 +01:00
Glenn Ruben Bakke
445b45ee13 nrf5/modules/ubluepy: Swapping address bytes when copying bluetooth address over to ScanEntry object during advertisment scan report event. 2017-03-14 22:14:05 +01:00
Glenn Ruben Bakke
08883c619a nrf5/modules/ubluepy: Extending print of ScanEntry object to also include the bluetooth le address. 2017-03-14 22:12:33 +01:00
Glenn Ruben Bakke
a444390115 nrf5/modules/ubluepy: Create new adv report list for each individual scan. Create a new ScanEntry object instance on each advertisment event recieved and append this to the current adv_report list. 2017-03-14 21:28:42 +01:00
Glenn Ruben Bakke
9a20d9ca91 nrf5/modules/ubluepy: Adding print function to scan_entry object. 2017-03-14 21:27:29 +01:00
Glenn Ruben Bakke
4a97cfe3ea nrf5/modules/ubluepy: Populating ubluepy_scan_entry_obj_t with members that are interesting to keep for the ScanEntry object. 2017-03-14 08:20:28 +01:00
Glenn Ruben Bakke
c066344a14 nrf5/bluetooth: Moving callback definitions to bluetooth driver header. Refactoring bluetooth driver, setting new names on callback functions and updating api to use new callback function name prefix. 2017-03-14 08:13:32 +01:00
Glenn Ruben Bakke
e028eda0bc nrf5/modules/ubluepy: Extracting advertisment reports and adding some data to list before returning it in scan() method. 2017-03-14 08:05:54 +01:00
Glenn Ruben Bakke
9b0d893b4d nrf5/bluetooth: Adding handling of advertisment reports in bluetooth driver and issue callback to ubluepy. A bit ugly implmentation and has to be re-worked. 2017-03-14 08:04:24 +01:00
Glenn Ruben Bakke
6fc806b313 nrf5/bluetooth: adding adv report data structure to pass to ubluepy upon adv report event. Adding new api for setting callack where to handle advertisment events in ubluepy. 2017-03-14 07:59:29 +01:00
Glenn Ruben Bakke
ada69c40c6 nrf5/modules/ubluepy: Adding adv_reports member to scanner object, to hold the result of scan. 2017-03-14 07:57:20 +01:00
Glenn Ruben Bakke
5fc6a9d9a2 nrf5/modules/machine: Cleaning up uart a bit more. Removing unused any() method, and aligning print and local dict names to use machine_uart prefix. 2017-03-13 17:56:39 +01:00
Glenn Ruben Bakke
51c739f64a nrf5/bluetooth: Turn off bluetooth printf logging. 2017-03-12 23:32:33 +01:00
Glenn Ruben Bakke
c8127ef337 nrf5: Add back ublupy scanner and scan entry source files in Makefile. 2017-03-12 23:24:37 +01:00
Glenn Ruben Bakke
6ea3f3c69b nrf5/bluetooth: Enable implementation in scan start function in the bluetooth stack driver. 2017-03-12 23:23:37 +01:00
Glenn Ruben Bakke
a01a3734f8 nrf5/boards: Adjust heap end after increased .data usage in nrf52832 s132 linker script. 2017-03-12 23:20:53 +01:00
Glenn Ruben Bakke
5580ac8200 nrf5/bluetooth: Adding more implementation in scan start function. However, commented out for time beeing, as there is some memory issues when activating central. 2017-03-12 22:46:40 +01:00
Glenn Ruben Bakke
9aa3df7955 nrf5: Removing ubluepy scanner and scan entry from Makefile source list until nrf52 central issues has been resolved. 2017-03-12 22:45:02 +01:00
Glenn Ruben Bakke
caf242a5ae nrf5/bluetooth: Correcting indention. 2017-03-12 20:20:15 +01:00
Glenn Ruben Bakke
739bf3a740 nrf5/bluetooth: Adding some implementation to scan_start function. 2017-03-12 20:18:37 +01:00
Glenn Ruben Bakke
89095f861f nrf5/modules/ubluepy: Adding scan method to the Scanner object. Adding locals dict table. 2017-03-12 19:52:12 +01:00
Glenn Ruben Bakke
471d6a05da nrf5/bluetooth: Adding empty scan_start and scan_stop function to the bluetooth driver. 2017-03-12 19:50:38 +01:00
Glenn Ruben Bakke
ee5ecac7cc nrf5/modules/ubluepy: Adding constructor function to scanner object. 2017-03-12 14:40:56 +01:00
Glenn Ruben Bakke
7ea966d844 nrf5/modules/ubluepy: Adding print function to Scanner object. 2017-03-12 14:28:11 +01:00
Glenn Ruben Bakke
851705fc3a nrf5/modules/ubluepy: Disable all functions central related functions in the Peripheral object for now, even if MICROPY_PY_UBLUEPY_CENTRAL is enabled. 2017-03-12 14:27:09 +01:00
Glenn Ruben Bakke
242b40e917 nrf5/modules/ubluepy: Activate Scanner and ScanEntry objects if MICROPY_PY_UBLUPY_CENTRAL is set. 2017-03-12 14:25:49 +01:00
Glenn Ruben Bakke
90e88b2c43 nrf5/bluetooth: Adding new configuration flag for s132 bluetooth stack, to enable/disable ubluepy central. Disabled by default. 2017-03-12 14:24:12 +01:00
Glenn Ruben Bakke
2f9fda1367 nrf5: Adding ubluepy_scanner.c and ubluepy_scan_entry.c to Makefile source list. 2017-03-12 14:21:27 +01:00
Glenn Ruben Bakke
11c40892ac nrf5/modules/ubluepy: Adding template object typedefs for scanner and scan entry, and extern definition for scanner and scan_entry object type in modubluepy.h 2017-03-12 14:20:41 +01:00
Glenn Ruben Bakke
91652882a9 nrf5/modules/ubluepy: Adding templates for central role Scanner and ScanEntry objects. 2017-03-12 12:34:11 +01:00
Glenn Ruben Bakke
1aecf560da nrf5/uart: Moving UART from pyb to machine module. 2017-03-10 22:48:43 +01:00
Glenn Ruben Bakke
611b829138 nrf5/uart: Refactoring UART module and HAL driver
Facilitating for adding second HW uart. Moving pyb_uart into
machine_uart. Adding return error codes from hal_uart functions,
if the hardware detects an error.
2017-03-10 22:21:19 +01:00
Scott Shawcroft
d200a62164 Add PulseOut which can pulse a PWMOut for IR remote transmission. 2017-03-10 19:17:54 +01:00
Scott Shawcroft
07ea2abcb0 esp8266: Turn off framebuf to get space. 2017-03-10 19:13:06 +01:00
Scott Shawcroft
bccfbe4e00 Fix duty_cycle constructor argument to PWMOut. 2017-03-10 18:55:17 +01:00
Scott Shawcroft
fcd60915e2 atmel-samd: Turn on stack checking so infinite recursion doesn't completely crash. 2017-03-09 16:09:13 +01:00
Glenn Ruben Bakke
f8d1ea80ae nrf5/modules: Updating uart object to allow baudrate configuration. 2017-03-07 23:18:03 +01:00
Glenn Ruben Bakke
99f5ecdfad nrf5/bluetooth: Moving bluetooth_conf.h to port root folder to make it more exposed. 2017-03-07 23:15:59 +01:00
Glenn Ruben Bakke
3b2ca64738 nrf5/boards: Remove define of machine PWM module configuration in nrf51 targets, as the device does not have a HW PWM peripheral. 2017-03-07 18:05:38 +01:00
Glenn Ruben Bakke
5f9b070f6d nrf5: Disable machine PWM module by default if board does not define it. 2017-03-07 18:04:54 +01:00
Glenn Ruben Bakke
9689aae45b nrf5/boards: Disable all display modules in pca10028 board config. 2017-03-07 18:01:13 +01:00
Glenn Ruben Bakke
9d2a2d227c nrf5: Updated after merge with master. Updating nlr_jump_fail to call __fatal_error in order to provide a non-returning function call. 2017-03-07 17:53:10 +01:00
Glenn Ruben Bakke
fd8f2c36f5 Merge branch 'master' into nrf5_no_sdk 2017-03-07 17:46:34 +01:00
Glenn Ruben Bakke
5f705adae0 nrf5/boards: Adding more heap memory to the nrf51 256k/32k s110 linker script. Leaving 2k for stack. 2017-03-07 17:41:46 +01:00
Scott Shawcroft
0f78eea5d8 Update the Python intersphinx reference to Python 3 https. 2017-03-07 12:59:34 +01:00
Scott Shawcroft
4aaa0ea008 shared-bindings: Do a pass on the docs and make sure keyword only arguments make sense and are documented correctly. Fixes #109 2017-03-07 12:58:57 +01:00
Scott Shawcroft
3891dde7ff shared-bindings: Reenable struct_time. It was turned off when playing with LTO and never re-enabled. 2017-03-07 12:47:26 +01:00
Glenn Ruben Bakke
2e1335b051 nrf5/modules/machine: Adding __WFI() on machine.deepsleep() 2017-03-06 23:36:36 +01:00
Glenn Ruben Bakke
4e1b9aca79 nrf5/modules/machine: Adding __WFE() on machine.sleep() 2017-03-06 23:35:32 +01:00
Glenn Ruben Bakke
4afa41ac36 nrf5/modules/machine: Adding enable_irq() and disable_irq() method to the machine module. No implementation yet for the case where bluetooth stack is used. 2017-03-06 23:30:56 +01:00
Glenn Ruben Bakke
5acba015ef nrf5/modules/rtc: Adding support for stopping and restarting rtc (if periodic) for all the instances of RTC. 2017-03-06 23:05:03 +01:00
Glenn Ruben Bakke
7c50cd26a2 nrf5/modules: Updating RTC kwarg from type to mode to set ONESHOT or PERIODIC mode. 2017-03-06 22:59:43 +01:00
Glenn Ruben Bakke
3debb43e83 nrf5/modules: Adding support for periodic RTC callback. 2017-03-06 21:33:29 +01:00
Glenn Ruben Bakke
c301cca2a4 nrf5/hal: hal_rtc update. Adding current counter value to period value before setting it in the compare register. 2017-03-06 20:52:09 +01:00
Glenn Ruben Bakke
f50a56dbb5 nrf5/modules: Updating rtc module with non-const machine object list in order to allow setting callback function in constructor. 2017-03-06 20:09:04 +01:00
Glenn Ruben Bakke
87e1616488 nrf5/hal: Adding initialization of LFCLK if not already enabled in hal_rtc. 2017-03-06 20:06:47 +01:00
Glenn Ruben Bakke
7000e0a2a0 nrf5/modules: Moving irq priority settings in RTC object to rtc_init0 when initializing the hardware instances. Also modifying comments a bit. Adding simple example in comment above make_new function on how the object is intended to work. 2017-03-06 01:13:19 +01:00
Glenn Ruben Bakke
49b1607bed nrf5: Updating main.c to initialize the rtc module if enabled. 2017-03-06 00:57:33 +01:00
Glenn Ruben Bakke
1ef7c732e8 nrf5/modules: Added RTC into the machine module globals dict. 2017-03-06 00:56:58 +01:00
Glenn Ruben Bakke
7144696e17 nrf5/modules: Updating rtc module. Not working yet. Updated to align with new hal_rtc interface. Added start and stop methods. Allowing callback function set from init. This should be moved to start function, not set in main. 2017-03-06 00:56:18 +01:00
Glenn Ruben Bakke
ff7541599a nrf5/hal: Updating hal RTC implementation. 2017-03-06 00:53:21 +01:00
Glenn Ruben Bakke
852aaba58b nrf5/hal: Adding hal_irq.h which defines a set of static inline functions to do nvic irq operations. 2017-03-06 00:50:00 +01:00
Glenn Ruben Bakke
9ddd62e73e nrf5/modules: Updating machine uart module to use new hal uart interface name. 2017-03-05 22:37:52 +01:00
Glenn Ruben Bakke
0489153094 nrf5/hal: Renaming uart hal function to use hal_uart prefix. 2017-03-05 22:37:07 +01:00
Glenn Ruben Bakke
ee5884bfe9 nrf5/modules: Updating readfrom function in machine i2c module to use the new hal function which has been implemented. 2017-03-04 21:44:23 +01:00
Glenn Ruben Bakke
2c61b7f596 nrf5/hal: Adding untested implementation of twi read. Lacking sensors to test with :) 2017-03-04 21:42:36 +01:00
Glenn Ruben Bakke
4a631a0d47 nrf5/boards: Renaming linker script for all nrf51 and nrf52 into more logical names. Updating all boards with new names. 2017-03-04 19:13:59 +01:00
Glenn Ruben Bakke
ab0d9756f1 nrf5/bluetooth: Updating header guard in bluetooth_conf.h to reflect new filename. 2017-03-04 18:05:51 +01:00
Glenn Ruben Bakke
56d106507a nrf5/bluetooth: Updating old references to 'sdk' to use the new folder name 'bluetooth' in makefiles. 2017-03-04 17:58:31 +01:00
Glenn Ruben Bakke
9e36242259 nrf5: Renaming sdk folder to bluetooth. 2017-03-04 17:54:15 +01:00
Glenn Ruben Bakke
5e89a27ba1 nrf5: Merging sdk makefiles into bluetooth_common.mk. s1xx_iot is still left out of this refactoring. 2017-03-04 17:52:20 +01:00
Glenn Ruben Bakke
ec35861938 nrf5: Renaming nrf5_sdk_conf.h to bluetooth_conf.h 2017-03-04 17:19:29 +01:00
Glenn Ruben Bakke
309ae12346 nrf5: Starting process of renaming files in sdk folder to facilitate renaming of the folder and make it more logical. Transition will be from sdk to bluetooth. 2017-03-04 15:06:08 +01:00
Glenn Ruben Bakke
80c9c2e3c0 nrf5/boards: Adding support for SPI, I2C, ADC, and Temp in machine modules in micro:bit target. Also activating hal drivers for the peripherals. 2017-03-04 02:14:50 +01:00
Glenn Ruben Bakke
f2a7e198d2 nrf5/sdk: Updating low frequency clock calibration from 4 seconds to 250 ms for stack enable when BLUETOOTH_LFCLK_RC is enabled. 2017-03-04 01:36:06 +01:00
Glenn Ruben Bakke
ef6d583ec3 nrf5/boards: Updating nrf51822_aa_s110.ld to be more generic, leaving all RAM not used for stack, .bss and .data to the heap. 2017-03-04 01:29:05 +01:00
Glenn Ruben Bakke
1aeb74a426 nrf51: Removing stack section from startup file as it got added to the final hex file. Thanks dhylands for helping out. 2017-03-04 01:24:10 +01:00
Glenn Ruben Bakke
2af06bd3fa nrf5/boards: Adding BLUETOOTH_LFCLK_RC to CFLAGS in microbit s110 makefile. 2017-03-03 23:21:47 +01:00
Glenn Ruben Bakke
e95ec1a285 nrf5/sdk: Adding support for initializing the bluetooth stack using RC oscillator instead of crystal. If BLUETOOTH_LFCLK_RC is set in CFLAGS, this variant of softdevice enable will be activated. 2017-03-03 23:20:38 +01:00
Glenn Ruben Bakke
c300e3f196 nrf5: Initialize repl_display_debugging_info in pyexec.c for cortex-m0 targets. 2017-03-03 00:40:44 +01:00
Glenn Ruben Bakke
159202ad00 lib/utils: Expose pyb_set_repl_info function public
The patch enables the possibility to disable or initialize the repl
info from outside of the module. Can also be used to initialize the
repl_display_debugging_info in pyexec.c if not startup file is clearing
.bss segment.
2017-03-03 00:36:25 +01:00
Glenn Ruben Bakke
235c0edacb nrf5/sdk: Updating ringbuffer.h to use volatile variables for start and end. 2017-03-03 00:11:42 +01:00
Glenn Ruben Bakke
d057a93675 nrf5/sdk: Rename cccd_enable variable to m_cccd_enable in bluetooth le UART driver. Also made the variable volatile. 2017-03-03 00:06:51 +01:00
Glenn Ruben Bakke
df31508d6f nrf5/modules: Updating example in ubluepy header to use handle instead of data length upon reception of an event. 2017-03-03 00:05:09 +01:00
Glenn Ruben Bakke
db3dd8bc8b nrf5/modules: Updating ubluepy peripheral to pass handle value to python event handler instead of data length. Data length can be derived from the bytearray structure. 2017-03-03 00:04:13 +01:00
Glenn Ruben Bakke
22f66e274d nrf5/sdk: Updating bluetooth le driver to handle SEC PARAM REQUEST by replying that pairing is not supported. Moving initialization of adv and tx in progress state variables to stack enable function. 2017-03-02 22:48:04 +01:00
Glenn Ruben Bakke
4efedb67b6 nrf5/modules: Enable ubluepy constants for CONNECT and DISCONNECT for other bluetooth stacks than s132. 2017-03-02 22:43:06 +01:00
Glenn Ruben Bakke
e60fa9b3e1 nrf5/sdk: Fixing unaligned access issues for nrf51 (cortex-m0) in bluetooth le driver 2017-03-02 21:25:51 +01:00
Glenn Ruben Bakke
44c9888511 nrf5/sdk: Removing SDK dependant BLE UART Service implementation
The sdk_12.1.0 nrf52_ble.c implementation was dependent on SDK components.
This has been replaced with the ble_uart.c implementation using a standalone
bluetooth driver implementation without need of SDK components.

Also, sdk.mk has been updated to not use a special linker script.
2017-03-01 00:05:04 +01:00
Glenn Ruben Bakke
f88ad9f5ab nrf52: Removing folder to not confuse which folder is in development 2017-02-28 23:57:08 +01:00
Glenn Ruben Bakke
58cc59cfbe nrf5/sdk: Removing ble_repl_linux.py
Script does not really work very well with blocking char read and
async ble notifications printing data when terminal stdout is blocked
by readchar. Bluetooth UART profile implemented in ble_uart.c is
now working with tralamazza's nus_console nodejs script.

Ref: https://github.com/tralamazza/nus_console
2017-02-28 23:40:46 +01:00
Glenn Ruben Bakke
ac677efb8b nrf5: Add default config for MICROPY_PY_BLE_NUS (0)
Disable Bluetooth UART to be used for REPL by default. Can be overridden
in nrf5_sdk_conf.h. It is defined in  mpconfigport.h as it is connected to
mphalport.c, where the config is used to determine whether default print
functions should be using HW UART or Bluetooth UART.
2017-02-28 23:33:54 +01:00
Glenn Ruben Bakke
e8761682b7 nrf5/sdk: Add ble_uart.c to source list
ble_uart.c implements UART Bluetooth service on top of the
bluetooth stack driver api calls. Can be enabled to be compiled
in by defining MICROPY_PY_BLE_NUS = 1 in nrf5_sdk_conf.h.
2017-02-28 23:30:36 +01:00
Glenn Ruben Bakke
84313b0261 nrf5/sdk: Removing include of sdk_12.1.0's build.mk
As no sources are needed from the SDK this build makefile
can be deleted.
2017-02-28 23:28:09 +01:00
Glenn Ruben Bakke
9472196ee7 nrf5: Force implementation of tx_str_cooked function if BLE NUS enabled.
If BLE UART service has been enabled, the mp_hal_stdout_tx_strn_cooked
is not defined by default anymore, and has to be implemented by the
UART driver (in this case BLE).
2017-02-28 23:18:31 +01:00
Glenn Ruben Bakke
216c97ff9a nrf5/sdk: Adding compiler guard around exchange MTU request event.
As s110 is not having this event or function call to answer on a MTU
exchange request, this is excluded for all other version than s132
for now.
2017-02-28 23:13:02 +01:00
Scott Shawcroft
7ecbc3a148 shared-bindings: Fix two more try_locks. Copy and paste failed me. 2017-02-28 12:31:27 +01:00
glennrub
c1ffac9998 Merge pull request #1 from ajbaabf/nrf5_no_sdk
added support for hardware temperature sensor
2017-02-28 08:33:11 +01:00
Bander Ajba
0e723091f9 minor documentation and extra tabs removal fixes 2017-02-28 09:34:13 +03:00
Glenn Ruben Bakke
382f718cfc nrf5/sdk: Updating BLE UART implementation by swapping TX and RX uuid and characterisitic handling. Removed dummy write delay of 10 ms. 2017-02-27 23:47:47 +01:00
Glenn Ruben Bakke
b032d765ff nrf5/sdk: Backing up progress in bluetooth le driver. Adding new gap and gatts handlers. Added handling of tx complete events when using notification, responding to MTU request, and setting of default connection parameters. 2017-02-27 23:40:39 +01:00
Bander Ajba
12a6cb0fbf fixed temp module to allow for instance support 2017-02-27 21:46:53 +03:00
Bander Ajba
e52ebb095c fixed temp module to allow for instance support 2017-02-27 21:37:32 +03:00
Scott Shawcroft
d598c2a919 atmel-samd: Add USB HID mouse and keyboard support. 2017-02-27 15:43:58 +01:00
glennrub
56cf514627 Merge pull request #2 from dhylands/fix-makefile
Fix up Makefile dependencies
2017-02-26 17:39:09 +01:00
Bander Ajba
66542c34b9 did required modification to merge the temperature sensore module 2017-02-26 11:17:07 +03:00
Bander Ajba
378c40b4da did required modification to merge the temperature sensore module 2017-02-26 11:14:17 +03:00
Dave Hylands
d3c3fa4a74 Fix up Makefile dependencies
I also didn't see any real reason for mkrules.mk to exist,
so I merged the contents into Makefile.

Now you can do:
```
make BOARD=pca10028 clean
make BOARD=pca10028 flash
```
and it will work properly.
2017-02-25 16:52:46 -08:00
Glenn Ruben Bakke
dcd980381d nrf5: Updating Makefile to use correct variable for setting directory of file to freeze as mpy. 2017-02-26 01:30:33 +01:00
Glenn Ruben Bakke
65f3e16775 nrf5: Setting stack top in main.c. Thanks dhylands for pointing this out. 2017-02-26 01:29:13 +01:00
Scott Shawcroft
062fac1d43 atmel-samd: Use link time optimization to reduce code size of builds which
share space with the file system.

"Express" builds with SPI flash crash the compiler for some reason so its
currently disabled for them.
2017-02-26 01:00:33 +01:00
Scott Shawcroft
3fd19c60cc py: Fix recursion exception. 2017-02-24 17:47:25 +01:00
Scott Shawcroft
aef0586ee1 py: Fix varg helpers by adding vlist variant of mp_obj_new_exception_msg 2017-02-24 17:47:02 +01:00
Scott Shawcroft
48d7fca25e atmel-samd: Fix linking by providing cpu info. 2017-02-24 17:45:33 +01:00
Scott Shawcroft
7dbe4e98a7 Make slice make_new match mp_make_new_fun_t exactly, check the input type and enable it for qemu tests. 2017-02-24 16:48:01 +01:00
Scott Shawcroft
75d6abe3bb Correct name of mp_raise_NotImplementedError to make error name. 2017-02-24 16:46:38 +01:00
Scott Shawcroft
35071b3681 Make the build quieter by default. 2017-02-24 15:59:59 +01:00
Scott Shawcroft
baf3ff377e Make more type structures const to save RAM. 2017-02-24 15:23:26 +01:00
Glenn Ruben Bakke
64b23e1127 nrf5/sdk: Backing up progress in BLE UART driver. Adding ringbuffer in order to poll bytes from recieved data in REPL main loop. 2017-02-24 15:14:12 +01:00
Scott Shawcroft
e0ef7e3092 Add indices() support to slice. 2017-02-24 15:13:56 +01:00
Scott Shawcroft
12fa5b3a66 Switch exception throwing to mp_raise helpers. It saves a little code space each time to share the call. 2017-02-24 15:13:07 +01:00
Glenn Ruben Bakke
bfda169dfe nrf5/modules: Updating ubluepy example to print out gatts write events with data. 2017-02-24 15:08:32 +01:00
Glenn Ruben Bakke
e60a06563e nrf5/boards: Updating pca10028 bluetooth stack targets to have a MCU_SUB_VARIANT. 2017-02-24 15:03:53 +01:00
Scott Shawcroft
efd429464e atmel-samd: Switch to nano newlib and add size script to build. 2017-02-24 14:55:34 +01:00
Bander Ajba
3882b0e2ff added support for hardware temperature sensor 2017-02-24 00:38:08 +03:00
Glenn Ruben Bakke
6b898d1d67 nrf5/sdk: Adding macro based ringbuffer written by Philip Thrasher. source: https://github.com/pthrasher/c-generic-ring-buffer/blob/master/ringbuffer.h. Copyright noticed copied into the file, and file reviewed by Philip. 2017-02-23 21:52:23 +01:00
Scott Shawcroft
75d0b02b3f Throw an error when sleep time is negative. 2017-02-22 20:41:00 +01:00
Scott Shawcroft
4c05086661 Check that neopixel write is actually given a DigitalInOut. 2017-02-22 20:10:10 +01:00
Glenn Ruben Bakke
f10abda60a nrf5/sdk: Updating bluetooth le driver to extract data length and pointer from the event structure upon gatts write operation. 2017-02-22 19:54:02 +01:00
Glenn Ruben Bakke
7fee0cdde1 nrf5/modules: Expose ubluepy characteristic and peripheral types as external declaration in ublupy header. 2017-02-22 19:10:18 +01:00
Scott Shawcroft
fc718d9437 ESP8266: Stop supporting 400khz neopixels through old esp module API.
It still accepts the parameter for backwards compatibility and to
provide a good error when it can't work.

Using the `neopixel_write` module instead is recommended because its
available on all CircuitPython supported ports.
2017-02-22 12:59:04 +01:00
Glenn Ruben Bakke
09fd2b86d1 nrf5: Updating main to initialize bluetooth le uart module right before bluetooth REPL is started. 2017-02-21 23:38:35 +01:00
Glenn Ruben Bakke
3e66898c37 nrf5/sdk: Updating bluetooth le uart implemenatation to block until cccd is written. 2017-02-21 23:37:52 +01:00
Scott Shawcroft
44e5d36086 ESP8266: Add reset note to webrepl init. 2017-02-21 11:50:32 +01:00
Glenn Ruben Bakke
80b2d7e4ad nrf5/sdk: Backing up ubluepy version of ble uart service for Bluetooth LE REPL. 2017-02-21 00:15:51 +01:00
Glenn Ruben Bakke
acb5c7b4ee nrf5/modules: Updating ubluepy example in header to align with bluetooth uart service characteristic's. 2017-02-20 21:28:07 +01:00
Glenn Ruben Bakke
c9bfcb5bc5 nrf5/modules: Implementing characteristic write method. Possible to use write for both write and notifications. 2017-02-20 21:27:21 +01:00
Glenn Ruben Bakke
7223950864 nrf5/sdk: Remaning bluetooth driver function ble_drv_attr_notif to *_notify. 2017-02-20 21:26:19 +01:00
Glenn Ruben Bakke
601f07cbf2 nrf5/modules: Adding props and attrs parameter to ubluepy characteristic constructor to override default values. Adding method for reading characteristic properties. Adding values to the local dict table that gives possibility to OR together a configuration of properties and attributes in the keyword argument during construction. 2017-02-20 20:28:19 +01:00
Glenn Ruben Bakke
a973dde603 nrf5/sdk: Adding parsing of characteristic properties and attributes (extra descriptions for the characteristic, for now cccd). 2017-02-20 20:24:27 +01:00
Glenn Ruben Bakke
89fc67a9f8 nrf5/modules: Adding new members to ubluepy characteristic object, props and attrs. Adding enum typedefs for various properties and attributes. 2017-02-20 20:22:23 +01:00
Glenn Ruben Bakke
7c0195da6c nrf5/modules: Syncing uart module code after upmerge with upstream master. 2017-02-19 19:06:12 +01:00
Glenn Ruben Bakke
f69c1acbbe Merge branch 'nrf52' into nrf5_no_sdk 2017-02-19 19:03:20 +01:00
Glenn Ruben Bakke
05ec4f64e2 Merge branch 'master' into nrf52 2017-02-19 19:02:29 +01:00
Glenn Ruben Bakke
486d05ff17 nrf5/boards: Releasing more RAM for heap use in the nrf51 s110 linker script. 2017-02-19 19:00:31 +01:00
Scott Shawcroft
261a6ff0bb atmel-samd: Fix build by correcting internal neopixel writes. 2017-02-19 17:39:34 +01:00
Scott Shawcroft
a5a41d7163 atmel-samd: Save a little space by tweaking error messages. 2017-02-19 17:24:15 +01:00
Scott Shawcroft
8584f5fece atmel-samd: Remove support for UART REPL from Arduino Zero. 2017-02-19 17:23:31 +01:00
Scott Shawcroft
f0b62a2b0e Save space by only supporting 800khz neopixels. 2017-02-19 17:22:42 +01:00
Scott Shawcroft
710b5d8aff Two I2C fixes:
1) Bus error will be thrown on read/write errors with errno set. (Read didn't used to fail at all.)
2) try_lock correctly returns boolean whether lock was grabbed.

Fixes #87
2017-02-19 17:02:29 +01:00
Scott Shawcroft
e9659e61f8 Switch enum-like attributes to all caps and add print support for them. Make room for this functionality by adding a shared __enter__ function object. #76 2017-02-19 16:11:33 +01:00
Scott Shawcroft
c4ee6d5716 atmel-samd: Remove pin reference from AnalogOut error. Fixes #83 2017-02-19 14:38:24 +01:00
Scott Shawcroft
d67968e3c3 Add print support to Pin. #83 #76 2017-02-19 14:23:29 +01:00
Scott Shawcroft
39ac7240a8 Add CircuitPlayground, Trinket and Gemma to Travis build. 2017-02-19 14:11:55 +01:00
Scott Shawcroft
c81052a256 atmel-samd: Stop calibrating the crystal for Gemma and Trinket. We need the space for other code. 2017-02-19 14:11:24 +01:00
Scott Shawcroft
b7ded4c934 esp8266: Allow for MOSI or MISO only SPI. Fixes #65 2017-02-19 13:15:23 +01:00
Scott Shawcroft
3dda38c8ab Fix pin free check to ignore None objects. Fixes #89 2017-02-19 12:59:31 +01:00
Scott Shawcroft
1a3bd67833 nativeio.SPI: Remove extraneous constructor args because they are in configure. 2017-02-19 12:57:00 +01:00
Glenn Ruben Bakke
10e7c16351 nrf5/modules: Adding new gatts handler and registration of it during creation of a peripheral object. Also, added forwarding to python callback function (for now the same as for GAP). 2017-02-19 00:10:27 +01:00
Glenn Ruben Bakke
ac14bb4736 nrf5/modules: Adding new callback type in modubluepy for gatts events. 2017-02-19 00:09:11 +01:00
Glenn Ruben Bakke
29b283f697 nrf5/sdk: Adding support for setting gatts handler in the bluetooth le driver. 2017-02-19 00:08:05 +01:00
Glenn Ruben Bakke
45144ee8a8 nrf5/modules: Adding constant for CCCD uuid in ubluepy constants dict. 2017-02-18 23:11:12 +01:00
Glenn Ruben Bakke
4fe4c2967f nrf5: Adding ubluepy_descriptor.c into source list to compile. 2017-02-18 22:49:50 +01:00
Glenn Ruben Bakke
842b83cbd8 nrf5/modules: Adding template for ubluepy descriptor class implementation. 2017-02-18 22:49:18 +01:00
Glenn Ruben Bakke
6a374dc5a2 nrf5/modules: Adding object structure for ubluepy descriptor. 2017-02-18 22:48:48 +01:00
Glenn Ruben Bakke
98358e4400 nrf5/sdk: Adding template functions for attribute read/write/notify in bluetooth le driver. 2017-02-18 21:11:39 +01:00
Glenn Ruben Bakke
9a08ed1a08 nrf5/modules: Adding getCharacteristic method in ublupy service class. This function returns the characteristic with the given UUID if found, else None. The UUID parameter has to be of UUID class type, any other value, like strings will throw an exception. 2017-02-18 18:38:31 +01:00
Glenn Ruben Bakke
71475bb028 nrf5/modules: Updating method documentation in ubluepy peripheral and service. 2017-02-18 18:16:07 +01:00
Glenn Ruben Bakke
655d6c9bcd nrf5/modules: Adding new method, getCharacteristics(), in the ubluepy service class. The method returns the list of characteristics which has been added to the service instance. 2017-02-18 18:14:27 +01:00
Glenn Ruben Bakke
307c2d6aed nrf5/modules: Updating method documentation in ubluepy peripheral class. 2017-02-18 18:12:37 +01:00
Glenn Ruben Bakke
1da82b2aeb nrf5/modules: Updating ubluepy service. Creating empty characteristic list in constructor. Appending characteristic to the list when added. 2017-02-18 18:06:58 +01:00
Glenn Ruben Bakke
15d7353cb3 nrf5/modules: Changed return in ubluepy addService() function to return mp_const_none instead of boolean. 2017-02-18 17:59:10 +01:00
Glenn Ruben Bakke
63ed32ecaa nrf5/modules: Correcting tabbing in ubluepy periheral impl. 2017-02-18 17:57:59 +01:00
Glenn Ruben Bakke
577bf0724a nrf5/modules: Updating ubluepy peripheral. Creating empty service list in constructor. Appending services to the list when added. Added new function for retreiving the service list; getServices(). 2017-02-18 17:57:10 +01:00
Glenn Ruben Bakke
8ffd167d4b nrf5/modules: Adding new members in ubluepy peripheral and service object to keep track of child elements. Peripheral will have a list of services, and service will have a list of charactaristics. 2017-02-18 17:54:47 +01:00
Glenn Ruben Bakke
852dde6747 nrf5/modules: Removing connection handle from python gap event handler callback function. 2017-02-18 14:41:46 +01:00
Glenn Ruben Bakke
f800f22a79 nrf5/modules: Updating ubluepy example in the header file with new function call to add service to a peripheral instance. 2017-02-18 13:20:03 +01:00
Glenn Ruben Bakke
04f8891dc9 nrf5/modules: Updating peripheral class to assign periopheral parent pointer to service's thats added. Also added a hook in the bluetooth le event handler to store the connection handle value, to prevent any services or characteristics to handle this value themselves. 2017-02-18 13:17:31 +01:00
Glenn Ruben Bakke
f956947c23 nrf5/modules: Updating service object to clear pointer to parent peripheral instance. Also assinging pointer to the service when adding a new characteristic. 2017-02-18 13:15:08 +01:00
Glenn Ruben Bakke
f3d8fc830e nrf5/modules: Updating print to also include peripheral's connection handle. Setting pointer to service parent instance to NULL. 2017-02-18 13:11:39 +01:00
Glenn Ruben Bakke
f5324060cc nrf5/modules: Correcting event id numbers for connect and disconnect event in ubluepy_constants.py 2017-02-18 13:07:00 +01:00
Glenn Ruben Bakke
292c15bf1a nrf5/modules: Shuffle order of typedef in ubluepy header. Adding service pointer in characteristic object. Adding peripheral pointer to the service structure. When populated, the characteristic would get access to conn_handle and service handle through pointers. Also service would get access to peripheral instance. 2017-02-18 01:19:43 +01:00
Glenn Ruben Bakke
e0fc8b88c1 nrf5/modules: adding template functions for characteristic read and write. 2017-02-18 01:17:57 +01:00
Glenn Ruben Bakke
af2f32ed6a nrf5/modules: Adding constants class to ubluepy which will contain easy access to common bluetooth le numbers and definitions for the bluetooth stack. 2017-02-18 00:11:10 +01:00
Glenn Ruben Bakke
f0f6ad20b2 nrf5/modules: Updating example in ubluepy header with 16-bit uuid's commented out, to show usage. 2017-02-17 21:50:50 +01:00
Glenn Ruben Bakke
c81b606b01 nrf5/sdk: Adding support for adding 16-bit uuid's in advertisment packet. The services in paramter list can mix 16-bit and 128-bit. 2017-02-17 21:47:38 +01:00
Glenn Ruben Bakke
9befd776fa nrf5/sdk: Updating sdk_common.mk with new filename of bluetooth le driver. 2017-02-17 19:13:49 +01:00
Glenn Ruben Bakke
21f1d8c640 nrf5: Updating all includes of softdevice.h to ble_drv.h 2017-02-17 19:10:24 +01:00
Glenn Ruben Bakke
793cf991ad nrf5/sdk: renaming softdevice.* to ble_drv.* 2017-02-17 19:06:11 +01:00
Glenn Ruben Bakke
5f4c464f29 nrf5/sdk: Renaming bluetooth driver functions to have ble_drv* prefix. Updating modules using it. 2017-02-17 19:02:24 +01:00
Glenn Ruben Bakke
3ff245f667 nrf5/sdk: Enable ubluepy module if s110 bluetooth stack is enabled. 2017-02-17 18:11:22 +01:00
Glenn Ruben Bakke
86c900313c nrf5/sdk: Updating bluetooth driver to only set periph and central count if s132 bluetooth stack. These parameters does not exist in older stacks. 2017-02-17 18:09:23 +01:00
Glenn Ruben Bakke
bba8221aa2 nrf5/modules: Updating bluetooth driver and ubluepy to use explicit gap event handler. Adding connection handle parameter to the gap handler from ubluepy. Resetting advertisment flag if connection event is recieved, in order to allow for subsequent advertisment if disconnected again. Example in ublupy header updated. 2017-02-17 17:32:42 +01:00
Glenn Ruben Bakke
7ce31444a0 nrf5: Adding target to flash bluetooth stack when using pyocd-flashtool. 2017-02-16 23:18:07 +01:00
Glenn Ruben Bakke
2fd55feb0c nrf5/modules: Guarding callback to python event handler before issue the call in case it is not set. 2017-02-16 18:49:47 +01:00
Glenn Ruben Bakke
18365135f7 nrf5/modules: Updating ubluepy example to turn led2 on and off when receiving connected and disconnect bluetooth event. 2017-02-15 23:58:23 +01:00
Glenn Ruben Bakke
d88320b5b3 nrf5/sdk: Updating bluetooth driver to have configurable logs. 2017-02-15 23:57:23 +01:00
Glenn Ruben Bakke
832a7ffd14 nrf5/modules: updating ubluepy and bluetooth driver to support python created event handler. Added registration of callback from ubluepy against the bluetooth driver and dispatching of events to the user supplied python function. 2017-02-15 23:32:42 +01:00
Glenn Ruben Bakke
d29539a395 nrf5/modules: Splitting includes to be inside or outside of the compile guard in ubluepy. This way, all micropython specific includes will be outside, and internal will be inside. This way, there will not be any dependency towards ubluepy headers if not compiled in. 2017-02-15 19:33:11 +01:00
Glenn Ruben Bakke
db75b5535c nrf5/modules: Adding two new functions to ubluepy peripheral class to set specific handlers for notificaitons and connection related events. 2017-02-15 19:30:45 +01:00
Glenn Ruben Bakke
ec517a37f6 nrf5: Set ubluepy to disabled by default in mpconfigport.h if not configured. 2017-02-15 19:13:55 +01:00
Scott Shawcroft
f511c263a0 ESP8266: Make sure SPI write finishes before returning.
Fixes #62.
2017-02-15 17:25:41 +01:00
Scott Shawcroft
49287e91b1 ESP8266: Rework the execution flow to match the SAMD21.
* Support code.txt and variants.
* Add wait state for connection indicated by receiving a character.
* Add another wait state on every soft reset to give instruction for
  soft reset rather than entering REPL.

AMPY use remains the same. The wait states can be exited with CTRL-C
just like the REPL.

Fixes #70.
2017-02-15 17:00:09 +01:00
Scott Shawcroft
f2c787d0b4 Fix the keyboard exception in REPL by ignoring forced exit results when in REPL. Also, print the exception correctly. Fixes #57 2017-02-15 15:48:39 +01:00
Glenn Ruben Bakke
8d1b05563c nrf5/modules: Moving includes inside config defines to make non-ubluepy targets compile again. 2017-02-15 00:26:39 +01:00
Glenn Ruben Bakke
b493bfda64 nrf5/modules: Adding 'withDelegate' function to peripheral class. 2017-02-15 00:22:00 +01:00
Glenn Ruben Bakke
fd4e659da7 nrf5/modules: Adding ubluepy delegate type to modubluepy globals table. 2017-02-15 00:18:32 +01:00
Glenn Ruben Bakke
4f6e235c68 nrf5: Adding ubluepy_delegate.c to list of source files to compile. 2017-02-15 00:17:47 +01:00
Glenn Ruben Bakke
8b21ee762e nrf5/modules: Adding new object struct for delegate class and adding a delegate struct member to Peripheral class to bookeep callback object when event occurs. 2017-02-15 00:17:04 +01:00
Glenn Ruben Bakke
881e90f7b5 nrf5/modules: Adding template for ubluepy delegate class. 2017-02-15 00:15:48 +01:00
Glenn Ruben Bakke
66223b4285 nrf5/sdk: Fixing debug print in bluetooth driver to not use >>> prefix. Adding one more print for connection parameter update. 2017-02-14 20:18:53 +01:00
Scott Shawcroft
b950709bea Fix tests that rely on sys.implementation.name to work with circutpython response. 2017-02-14 10:57:00 +01:00
Scott Shawcroft
18c299b13d Make mp_float_t conversions explicit to silence warnings of converting floats to doubles. 2017-02-14 10:55:54 +01:00
Glenn Ruben Bakke
44f701946b nrf5/sdk: Correcting advertisment packet in bluetooth driver in order to make the device connectable. 2017-02-13 17:06:13 +01:00
Scott Shawcroft
9ed3e11aec atmel-samd: Clean up I2C correctly when an initialization error occurs. Fixes #95. 2017-02-13 16:46:57 +01:00
Scott Shawcroft
26c61d43f4 Change sys.implementation to return circuitpython and the circuitpython version number that doesn't start with v. Fixes #86. 2017-02-13 16:23:46 +01:00
Glenn Ruben Bakke
a79c5ca7ab nrf5/sdk: Implementing simple event handler for bluetooth stack driver. 2017-02-13 00:18:47 +01:00
Glenn Ruben Bakke
7a43228a2d nrf5/sdk: Disable all sdk components from being included in the build while implementing ubluepy, overlap in IRQ handler symbol. 2017-02-13 00:16:45 +01:00
Glenn Ruben Bakke
c4b60e6cf8 nrf5/modules: Shortening down the device name to be advertised in the example to make it fit with a 128-bit complete UUID. 2017-02-12 23:05:32 +01:00
Glenn Ruben Bakke
e432ab4842 nrf5/modules: Bugfix in ubluepy_uuid_make_new. Used wrong buffer to register vendor specific uuid to the bluetooth stack. 2017-02-12 23:04:48 +01:00
Glenn Ruben Bakke
0a0ab8344e nrf5/sdk: Updating advertisment function in bluetooth le driver to add 128-bit complete service UUID provided in service list to the advertisment packet. 2017-02-12 23:03:55 +01:00
Glenn Ruben Bakke
2d58fc6625 nrf5/sdk: Updating advertisment funciton in bluetooth le driver to iterate through services passed in and calculate individiual uuid sizes. 2017-02-12 15:20:41 +01:00
Glenn Ruben Bakke
18aab4a6b9 nrf5/modules: Updating advertisment method in peripheral class to memset advertisment structure. Also applying service list if set to the advertisment structure. 2017-02-12 15:17:30 +01:00
Glenn Ruben Bakke
2d72fe8518 nrf5/modules: Updating ubluepy module header usage example. Correcting enum for UUID types to start index from 1. Expanding advertisment data structure to also include service list members. 2017-02-12 15:14:41 +01:00
Glenn Ruben Bakke
90523d6ae0 nrf5/sdk: Adding static boolean for keeping track of whether advertisment is in progress in the bluetooth driver. Now, advertisment can be restarted with new data any time. 2017-02-12 14:24:15 +01:00
Glenn Ruben Bakke
9d24742351 nrf5/modules: Updating ubluepy peripheral class to use mp_const_none instead of MP_OBJ_NULL for unset values in advertisment method parameter list. Adding extraction of the service list in the advertisment method. The list is not yet handled. 2017-02-12 14:23:13 +01:00
Glenn Ruben Bakke
ff9cefa6b2 nrf5/modules: Adding a few examples in the modubluepy.h to get easier copy paste when implementing. 2017-02-11 18:09:22 +01:00
Glenn Ruben Bakke
b65553e57f nrf5/sdk: Successful device name advertisment. Added flags to advertisment packet and enable device name byte copy into the advertisment data. 2017-02-11 18:02:22 +01:00
Glenn Ruben Bakke
3a68e40102 nrf5/modules: Turning ubluepy peripheral advertisment function into a keyword argument function so that it would be possible to set device name, service uuids, or manually constructed data payload. 2017-02-11 17:43:47 +01:00
Glenn Ruben Bakke
1a3ae62fd1 nrf5/sdk: Updating softdevice driver with function to set advertisment data and start advertisment. Does not apply device name yet. Work in progress. 2017-02-11 17:41:16 +01:00
Glenn Ruben Bakke
8cc0eb23d9 nrf5/modules: Adding new structure to ubluepy in order to pass advertisment data information to the bluetooth le stack. 2017-02-11 17:37:48 +01:00
Glenn Ruben Bakke
d6b12b63d0 nrf5/modules: Adding function function to add characteristics to the ubluepy service. Enable function in service's local dict table. 2017-02-11 16:04:48 +01:00
Glenn Ruben Bakke
c9aa561aad nrf5/modules: Adding function in bluetooth le driver to add characteristic to the bluetooth le stack. 2017-02-11 16:01:50 +01:00
Glenn Ruben Bakke
a43f5cdd4e nrf5/modules: Adding more members to ublue characteristic object structure. 2017-02-11 16:00:43 +01:00
Glenn Ruben Bakke
c580633598 nrf5/modules: Adding characteristic class to ubluepy globals table. 2017-02-11 14:35:00 +01:00
Glenn Ruben Bakke
c127938103 nrf5/modules: Updating ubluepy characteristic implementation. 2017-02-11 14:21:05 +01:00
Glenn Ruben Bakke
7f26704e27 nrf5/modules: Re-arranging includes in ubluepy_service.c 2017-02-11 14:20:01 +01:00
Glenn Ruben Bakke
5f19113c94 nrf5/modules: Adding ubluepy charactaristic type struct. 2017-02-11 14:19:08 +01:00
Glenn Ruben Bakke
fad456d18f nrf5/modules: Updating ubluepy with more implementation in UUID and Service. Adding function in bluetooth le driver which adds services to the bluetooth stack. Making service take UUID object and Service type (primary/secondary) as constructor parameter in Service class. 2017-02-10 21:09:03 +01:00
Glenn Ruben Bakke
3223026764 nrf5: Adding ubluepy to include path. 2017-02-10 21:03:30 +01:00
Scott Shawcroft
ae715a827b atmel-samd: Rework the clock configs to only be crystalless when needed by the hardware. 2017-02-10 05:09:17 -08:00
Scott Shawcroft
370d1dec88 SPI tweaks for SD Cards:
* Always init SPI to 250k to start for SD cards.
* Add ability to configure byte written during read.
* Add ability to read and write to portions of buffers like existing I2C API.
2017-02-10 05:09:17 -08:00
Glenn Ruben Bakke
f549c8df43 nrf5/modules: Updating ubluepy UUID class constructor with some naive parsing of 128-bit UUIDs, and pass this to the softdevice driver for registration. 2017-02-10 00:02:35 +01:00
Glenn Ruben Bakke
b93644221e nrf5/sdk: Adding new function to the softdevice handler driver to add vendor specific uuids and return an index to the entry back by reference. 2017-02-09 23:57:30 +01:00
Glenn Ruben Bakke
8a551e1354 nrf5/modules: Updating ubluepy UUID class with constructor that can construct an object based on hex value of 16-bit or string of 16-bit prefixed with '0x'. 2017-02-09 23:05:12 +01:00
Glenn Ruben Bakke
ddc31d4084 nrf5/modules: Adding Peripheral, Service and UUID class to the ubluepy module globals table. 2017-02-08 18:49:29 +01:00
Glenn Ruben Bakke
0264f68698 nrf5/modules: Extending the implementation of Peripheral class in ubluepy. 2017-02-08 18:48:35 +01:00
Glenn Ruben Bakke
9057fe550b nrf5/modules: Extending the implementation of UUID class in ubluepy. 2017-02-08 18:47:33 +01:00
Glenn Ruben Bakke
323533c3d3 nrf5/sdk: Adding configuration to enable the ubluepy peripheral class when using softdevice 132 from the SDK. 2017-02-08 18:45:49 +01:00
Glenn Ruben Bakke
35a7aa1331 nrf5: Adding ubluepy module to builtins if bluetooth stack is selected. Disable NUS profile by default. Adding source for ubluepy module into makefile to be included in build. The source is only linked if MICROPY_PY_UBLUEPY is set. 2017-02-08 00:05:37 +01:00
Glenn Ruben Bakke
0f609cd799 nrf5: Aligning code after upmerge with master. Mostly FAT FS related updates. Not tested after merge. 2017-02-07 23:30:54 +01:00
Glenn Ruben Bakke
122d0430db Merge branch 'nrf52' into nrf5_no_sdk 2017-02-07 22:27:32 +01:00
Glenn Ruben Bakke
4cf7fd151e Merge branch 'master' into nrf52 2017-02-07 22:26:13 +01:00
Glenn Ruben Bakke
723943abde nrf5/modules: Adding new and print function to ubluepy peripheral class. Template functions only. 2017-02-07 22:17:55 +01:00
Glenn Ruben Bakke
b6779fa95a nrf5/modules: Adding ubluepy UUID class template. 2017-02-06 20:51:24 +01:00
Glenn Ruben Bakke
ef5228ae57 nrf5/modules: Adding ubluepy characteristic class template. 2017-02-06 20:48:01 +01:00
Glenn Ruben Bakke
4cda1b37fd nrf5/modules: Adding missing #endif. Also adding to property templates to the lolcal dict. 2017-02-06 20:41:42 +01:00
Glenn Ruben Bakke
c2fb8bf9c2 nrf5/modules: Adding ubluepy service class template. 2017-02-06 20:36:36 +01:00
Glenn Ruben Bakke
3cd518af3a nrf5/modules: Updating ubluepy with class function placeholders. 2017-02-06 20:19:06 +01:00
Glenn Ruben Bakke
73d00c98a0 nrf5/modules: Renaming ble module folder to ubluepy. 2017-02-05 21:10:44 +01:00
Glenn Ruben Bakke
21c4e4633b nrf5/modules: Adding new template file for ubluepy Peripheral class. 2017-02-05 21:10:06 +01:00
Glenn Ruben Bakke
2b1ceadfab nrf5/pyb: Moving pyb module into modules/pyb. 2017-02-05 20:30:58 +01:00
Glenn Ruben Bakke
2ad9426917 nrf5/utime: Moving utime module into modules/utime. 2017-02-05 20:28:26 +01:00
Glenn Ruben Bakke
65fb0c9829 nrf5/uos: Moving uos module into modules/uos. 2017-02-05 20:25:27 +01:00
Glenn Ruben Bakke
0983f43ae1 nrf5/network: Moving network module into modules/network. Adding include path to network as its needed by the usocket module. 2017-02-05 20:19:52 +01:00
Glenn Ruben Bakke
9fcef29dfa nrf5/usocket: Moving usocket module into modules/usocket. 2017-02-05 20:15:50 +01:00
Glenn Ruben Bakke
3c71e75461 nrf5/led: Moving led module into modules/machine. 2017-02-05 20:06:24 +01:00
Glenn Ruben Bakke
42e9b0f735 nrf5/led: Moving led module into modules/machine. 2017-02-05 20:06:06 +01:00
Glenn Ruben Bakke
8601963291 nrf5/pwm: Moving pwm module into modules/machine. 2017-02-05 20:03:52 +01:00
Glenn Ruben Bakke
a7103ef551 nrf5/rtc: Moving rtc module into modules/machine. 2017-02-05 20:01:15 +01:00
Glenn Ruben Bakke
9295f2df29 nrf5/timer: Moving timer module into modules/machine. 2017-02-05 19:59:34 +01:00
Glenn Ruben Bakke
93eb533579 nrf5/pin: Moving pin module into modules/machine. 2017-02-05 19:56:24 +01:00
Glenn Ruben Bakke
616d76cb7a nrf5/adc: Moving adc module into modules/machine. 2017-02-05 16:17:12 +01:00
Glenn Ruben Bakke
eea975cd25 nrf5/i2c: Moving i2c module into modules/machine. 2017-02-05 00:05:20 +01:00
Glenn Ruben Bakke
ab1994b2b2 nrf5/spi: Moving spi module into modules/machine. 2017-02-05 00:03:49 +01:00
Glenn Ruben Bakke
cb2d040726 nrf5/uart: Moving uart module into modules/machine to start converting it into machine module and not pyb. 2017-02-05 00:00:42 +01:00
Glenn Ruben Bakke
8c404909e1 nrf5/machine: Moving modmachine into modules/machine folder. Updating Makefile. 2017-02-04 23:56:42 +01:00
Glenn Ruben Bakke
ab21a6a915 nrf5/drivers: Renaming folder to modules. 2017-02-04 23:51:11 +01:00
Glenn Ruben Bakke
e68681804e nrf5: Renaming python modules folder to freeze to give the folder its right meaning. The scripts put into this folder will be frozen. 2017-02-04 23:46:29 +01:00
Glenn Ruben Bakke
357b21ae72 nrf5/drivers: Adding template for ubluepy module. 2017-02-04 19:32:40 +01:00
Glenn Ruben Bakke
f8a71311ed nrf5/sdk: Adding compilation config whether to include BLE NUS implementation. Config found in sdk/nrf5_sdk_conf.h. NUS enabled for s132 targets by default. 2017-02-04 16:24:50 +01:00
Glenn Ruben Bakke
b6d54cbcaf nrf5: Fallback to HW UART when not Bluetooth LE UART has been enabled. 2017-02-04 16:15:49 +01:00
Glenn Ruben Bakke
e9e98e777d nrf5: Updating main.c to use MICROPY_PY_BLE_NUS as switch for regular uart initialization or bluetooth le uart initialization. 2017-02-04 16:08:42 +01:00
Glenn Ruben Bakke
918617d1eb nrf5/sdk: Adding work-in-progress script to connect to bluetooth le REPL using bluepy python module in linux. 2017-02-04 01:12:30 +01:00
Scott Shawcroft
10fbe06757 Switch design guide to rST so that the table works. Also add details based on more feedback from @deshipu. Thanks! 2017-02-03 14:48:23 -08:00
Glenn Ruben Bakke
4ddc213d7f nrf5/boards: Updating board makefiles for s132 and s1xx target for pca10040 (nrf52832) by adding sub variant and device define to the makefiles. 2017-02-03 19:28:16 +01:00
Scott Shawcroft
f6cdfa9edf Update after feedback from @deshipu. Thanks 2017-02-03 10:16:41 -08:00
Scott Shawcroft
7ab7f41b46 Add a draft of a new design guide. This is meant to capture the goals of CircuitPython and the corresponding design decisions. 2017-02-02 15:15:27 -08:00
Glenn Ruben Bakke
5ae960947c nrf5/examples: Updating ssd1306.py example with a comment describing proceedure on how to use the I2C variant of the driver. 2017-02-02 23:50:43 +01:00
Glenn Ruben Bakke
e8b4a97d7d nrf5/hal: Line wrapping params in hal_spi.c to make it easier to read. 2017-02-02 23:47:30 +01:00
Glenn Ruben Bakke
cd096f604e nrf5/hal: Updating hal_twi.c tx implementation to a working state. STARTTX only issued once, before looping bytes. 2017-02-02 23:45:44 +01:00
Glenn Ruben Bakke
2517ce48f8 nrf5/examples: Updating ssd1306.py driver to work with i2c master write implementation. 2017-02-02 23:43:52 +01:00
Glenn Ruben Bakke
c7162720c1 nrf5/hal: Updating hal_twi.c with tx function. Gets multiple startup bytes for each clocked byte. 2017-02-02 22:55:25 +01:00
Scott Shawcroft
597777e80b atmel-samd: Update internal pins for Feather M0 Express Rev B 2017-02-02 12:12:05 -08:00
Glenn Ruben Bakke
fed06e278b nrf5/hal: Updating hal_twi.c with tx function which partly works. Bytes are clocked out a bit out of order. 2017-02-02 20:51:43 +01:00
Glenn Ruben Bakke
0629abac53 nrf5/hal: Started implementation of hal_twi.c (non-DMA). Init function started. 2017-02-02 20:03:50 +01:00
Glenn Ruben Bakke
70d64e2892 nrf5: Removing hal_twie.c from being compiled in. 2017-02-02 19:37:29 +01:00
Glenn Ruben Bakke
5e9e48e9e3 nrf5: Renaming configuration define in board configs using i2c from MICROPY_PY_MACHINE_HW_I2C to MICROPY_PY_MACHINE_I2C as the config is overlapping with the latter. 2017-02-02 18:43:12 +01:00
Glenn Ruben Bakke
4cbdbc9a4b nrf5: Renaming configuration define in board configs using i2c from MICROPY_PY_MACHINE_HW_I2C to MICROPY_PY_MACHINE_I2C as the config is overlapping with the latter. 2017-02-02 18:41:44 +01:00
Glenn Ruben Bakke
14d4a8def8 nrf5: Making i2c configurable from board configuration in case board has to sacrifice the i2c machine module. 2017-02-02 18:33:03 +01:00
Glenn Ruben Bakke
0066f226aa nrf5/boards: Activating all display drivers in pca10056 board. 2017-02-02 18:29:51 +01:00
Glenn Ruben Bakke
44daeb7d94 nrf5/boards: Updating s110 SD linker script for micro:bit. 2017-02-02 18:08:28 +01:00
Scott Shawcroft
9f6da7b2fe Add more PWMOut examples and rename the duty constructor argument
to duty_cycle so that its consistent with the attribute.

Fixes #84
2017-02-01 15:07:31 -08:00
Scott Shawcroft
1da14b0eec atmel-samd: Switch Metro back to including bootloader space. 2017-02-01 13:16:48 -08:00
Scott Shawcroft
8569395b5d atmel-samd: Turn down the brightness of the status colors. 2017-02-01 13:15:46 -08:00
Glenn Ruben Bakke
9e6acda85c nrf5/i2c: Making use of hal twi tx function in writeto function. 2017-01-31 22:48:07 +01:00
Glenn Ruben Bakke
4b38644531 nrf5/hal: Updating twi driver with template functions. 2017-01-31 22:46:04 +01:00
Glenn Ruben Bakke
4a568ec1ed nrf5/hal: Updating TWI DMA implementation. Suspend not working on tx. Rx not implemented yet. 2017-01-31 22:36:47 +01:00
Scott Shawcroft
e3f9ee839a Add frequency changing support to PWMOut.
You can either set it once up front, or set variable_frequency on custruction to
indicate that the frequency must be able to change. This informs whether a timer
can be shared amongst pins.

This also adds persistent clock calibration on atmel-samd. Once the device has
synced its clock frequency over USB it will remember that config value until USB
is used again. This helps ensure the clock frequency is similar on and off USB.

Lastly, this also corrects time.sleep() when on USB by correcting the tick counter.
2017-01-30 15:02:01 -08:00
Glenn Ruben Bakke
5004a6f811 nrf5/hal: Updating twi master tx with stop parameter. 2017-01-30 23:05:27 +01:00
Glenn Ruben Bakke
ed976e07fe nrf5/hal: Adding i2c master functions for tx and rx in hal header. 2017-01-30 21:32:20 +01:00
Glenn Ruben Bakke
8ffe804c24 nrf5/hal: Adding new macros functions to mphalport.h which are used by extmod i2c machine module. 2017-01-30 00:32:19 +01:00
Glenn Ruben Bakke
61c026e51f nrf5/i2c: Adopting use of extmod/machine_i2c module as base for port's machine i2c module. 2017-01-30 00:31:00 +01:00
Glenn Ruben Bakke
bb9cd36314 nrf5/i2c: Backing up before trying out extmod i2c integration. 2017-01-29 17:53:01 +01:00
Glenn Ruben Bakke
fec5c75068 nrf5: Adding i2c class to machine module globals table. 2017-01-29 16:41:18 +01:00
Glenn Ruben Bakke
bfc67dd99c nrf5: Updating main.c to initialize the i2c machine module if selected. 2017-01-29 16:38:48 +01:00
Glenn Ruben Bakke
f529aa9e67 nrf5/i2c: Updating i2c machine module with new constructor parameters to set scl and sda pins. Also updating print funciton to debug pin number and port number for the gpio set. 2017-01-29 16:38:13 +01:00
Glenn Ruben Bakke
1421ca4adc nrf5/i2c: Updating i2c module to new new hal api, as master is initialized with its own init function. 2017-01-28 23:46:31 +01:00
Glenn Ruben Bakke
97a3fd4f3a nrf5/hal: Adding members to TWI config struct, device address and scl/sda pin. Renaming and adding function such that twi slave and master has seperate init function. Started implementation of master init function for nrf52 using DMA (hal_twie.c). 2017-01-28 23:45:30 +01:00
Glenn Ruben Bakke
9787c4af7b nrf5/i2c: Updating module to use new struct layout from hal_twi.h 2017-01-28 22:55:35 +01:00
Glenn Ruben Bakke
1c778f020f nrf5/hal: Updating TWI with frequency enums. 2017-01-28 22:54:44 +01:00
Glenn Ruben Bakke
726fe1aa27 nrf5/examples: Updating game file to use ssd1305 display driver. 2017-01-26 23:37:19 +01:00
Glenn Ruben Bakke
d37d799204 nrf5/drivers: Updating examples in comment in oled ssd1305 object to use the draw module. 2017-01-26 22:56:30 +01:00
Glenn Ruben Bakke
87e7ab8862 nrf5/hal: Fixing nrf51 SPI pin configuration to use pin member of struct. 2017-01-26 22:31:23 +01:00
Glenn Ruben Bakke
9009ad67b0 nrf5/boards: Updating boards to comply to new style of configuring pins for uart and spi. 2017-01-26 22:29:58 +01:00
Glenn Ruben Bakke
6387490e4a nrf5/boards: Updating board configuration for pca10056 (nrf52840) with new pin configuration scheme for SPI and UART. 2017-01-26 22:15:35 +01:00
Glenn Ruben Bakke
0b0cb19608 nrf5/hal: Updating hal QSPI header with define guard to filter out usage of undefined structures and names when compiling against non-52840 targets. 2017-01-26 22:10:36 +01:00
Glenn Ruben Bakke
b4d53ad560 nrf5/drivers: Updating display objects to use new SPI pin configuration in print function. 2017-01-26 22:08:39 +01:00
Glenn Ruben Bakke
0254cab228 nrf5/hal: Updating SPI DMA variant with more frequencies, and allowing rx and tx buffers to be NULL. 2017-01-26 22:01:43 +01:00
Glenn Ruben Bakke
632afd1fa8 nrf5/uart: Updating uart module to use new config hal config structure members for pins. Changing board config provided pins to use const pointers from generated pins instead of pin name. 2017-01-26 21:59:37 +01:00
Glenn Ruben Bakke
d87d0141b3 nrf5/hal: Updating uart hal to use pointers to Pin objects instead of uint pin and port number. 2017-01-26 21:58:12 +01:00
Glenn Ruben Bakke
3c6c6c6d05 nrf5/hal: Updating uart hal to use pointers to Pin objects instead of uint pin and port number. 2017-01-26 21:57:38 +01:00
Glenn Ruben Bakke
afcf07ca76 nrf5: Updating modmachine to add SPI in globals dict when MICROPY_PY_MACHINE_HW_SPI define is set. This diverge from regular MICROPY_PY_MACHINE_SPI config. Fixes missing SPI in the machine module after renaming port SPI enable define. 2017-01-26 21:31:24 +01:00
Glenn Ruben Bakke
f94836ef74 nrf5: Updating main.c to enable SPI if MICROPY_PY_MACHINE_HW_SPI is set. This diverge from regular MICROPY_PY_MACHINE_SPI config. Fixing missing init of SPI after renaming port SPI enable define. 2017-01-26 21:29:24 +01:00
Glenn Ruben Bakke
8653ac9ef8 nrf5/spi: Adding multiple instances of machine SPI depending on which chip is targeted (nrf51/nrf52832/nrf52540). Updating board config requirement to give variable name of const pointer to Pin instead of a Pin name. Adding support of giving keyword set mosi/miso/clk pin through constructor. 2017-01-26 21:27:59 +01:00
Glenn Ruben Bakke
437f3d2477 nrf5/hal: Updating SPI hal with full list of SPI interfaces as lookup tables for all devices. Updating init struct to pass Pin instance pointers instead of uint pin number and ports. 2017-01-26 21:24:31 +01:00
Glenn Ruben Bakke
197c052ca6 nrf5/drivers: Activate ssd1289 object in the display module. 2017-01-25 19:52:18 +01:00
Glenn Ruben Bakke
0fdcd2eac7 nrf5/boards: Adding ssd1289 lcd module in pca10040 (nrf52832) board. 2017-01-25 19:51:14 +01:00
Glenn Ruben Bakke
83b234f878 nrf5: Adding ssd1289 driver and python module into build. 2017-01-25 19:49:30 +01:00
Glenn Ruben Bakke
c442588b92 nrf5/drivers: Adding ssd1289 lcd tft driver and python module. 2017-01-25 19:47:25 +01:00
Glenn Ruben Bakke
5cc4890119 nrf5/hal: Fixing compile issues in quad SPI driver. 2017-01-23 00:33:27 +01:00
Glenn Ruben Bakke
fcd9ce2015 nrf5/hal: Updating Quad SPI hal driver. 2017-01-23 00:11:50 +01:00
Glenn Ruben Bakke
0662e1ccf5 nrf5/hal: Aligning assignment in hal_adc.c 2017-01-23 00:10:04 +01:00
Glenn Ruben Bakke
1bd9003338 nrf5/hal: Adding more types to quad SPI header. 2017-01-22 23:04:25 +01:00
Glenn Ruben Bakke
e40c385c6a nrf5: Syncing code after upmerge with master. 2017-01-22 22:18:44 +01:00
Glenn Ruben Bakke
93a245136d Merge branch 'nrf52' into nrf5_no_sdk 2017-01-22 19:34:32 +01:00
Glenn Ruben Bakke
9397583f6c Merge branch 'master' into nrf52 2017-01-22 19:33:25 +01:00
Glenn Ruben Bakke
e02c90dca5 nrf5/hal: Updating clock frequency enums and lookup table for quad spi. 2017-01-22 19:15:24 +01:00
Glenn Ruben Bakke
a7f3217c95 nrf5/hal: Adding QSPI base and IRQ num in c-file. 2017-01-22 18:31:42 +01:00
Glenn Ruben Bakke
2c1420b084 nrf5/hal: Adding hal template files for 32mhz Quad SPI peripheral. 2017-01-21 21:44:26 +01:00
Glenn Ruben Bakke
e52ec39120 nrf5/drivers: Optimizing update_line in ili9341 driver a bit. 2017-01-21 21:22:02 +01:00
Glenn Ruben Bakke
c1a609653f nrf5/drivers: Adding space in macro. 2017-01-20 19:31:10 +01:00
Glenn Ruben Bakke
34aeaf97c1 nrf5/drivers: Adding rgb16.h with macro to convert 5-6-5 rgb values into a 16-bit value. 2017-01-20 19:17:31 +01:00
Scott Shawcroft
749d22b5e6 atmel-samd: stop overwriting the flash FS. 2017-01-19 14:26:57 -08:00
Glenn Ruben Bakke
6124e8db76 nrf5: Adding configuration defines for SSD1289 lcd driver. 2017-01-19 22:47:23 +01:00
Glenn Ruben Bakke
0156ebd277 nrf5: Removing old framebuffer implementation. 2017-01-19 22:31:27 +01:00
Glenn Ruben Bakke
506601bef7 nrf5: Remove old framebuffer implementation from being included into the build. 2017-01-19 22:30:42 +01:00
Glenn Ruben Bakke
96c8f9c082 nrf5/drivers: Enable framebuffer and graphics module to be compiled in by default if display is selected into the compilation. 2017-01-19 22:30:11 +01:00
Glenn Ruben Bakke
adccc2fa13 nrf5/drivers: Updating epaper driver sld00200p to use new framebuffer. 2017-01-19 22:25:24 +01:00
Glenn Ruben Bakke
1f7bc76361 nrf5/drivers: Removing debug printf's from epaper display python module. 2017-01-19 20:55:00 +01:00
Glenn Ruben Bakke
225b3dfd19 nrf5/drivers: Updating python example in comment for ls0xxb7dxx display module. 2017-01-19 20:49:27 +01:00
Scott Shawcroft
79024f3fb9 atmel-samd: Change new flash FS name to CIRCUITPY
Fixes #79
2017-01-19 11:47:06 -08:00
Glenn Ruben Bakke
8e6b51a605 nrf5/boards: Enable LS0XXB7DXXX display module in pca10056 board config. 2017-01-19 20:46:58 +01:00
Glenn Ruben Bakke
5f9c556092 nrf5/drivers: Adding ls0xxb7dxx to display module. 2017-01-19 20:45:51 +01:00
Glenn Ruben Bakke
b06114dc8d nrf5: Adding ssd1305 and ls0xxb7dxxx (sharp memory display) drivers to be included in build. 2017-01-19 20:44:27 +01:00
Glenn Ruben Bakke
158edcad2c nrf5/drivers: Updating sharp memory display driver and python module to a working state. 2017-01-19 20:43:23 +01:00
Scott Shawcroft
dad33e6ad0 atmel-samd: Reset the DAC on soft reset. Fixes #80. 2017-01-19 11:42:33 -08:00
Scott Shawcroft
f74e477966 atmel-samd: Fully reset the ADC state on reset to prevent a crash. 2017-01-19 11:26:41 -08:00
Glenn Ruben Bakke
4cef9cd480 nrf5/spi: Adding posibility to configure SPI firstbit mode to LSB or MSB. Default is MSB. Updating python module and hal driver. 2017-01-19 20:04:49 +01:00
Scott Shawcroft
d29915ca3d atmel-samd: Fix two more SERCOM configs, PA07 and PA06. 2017-01-18 15:04:35 -08:00
Scott Shawcroft
76a2178bd7 atmel-samd: Fix PA00 and PA01 sercoms. New CircuitPlayground prototype pinout. 2017-01-18 14:51:36 -08:00
Glenn Ruben Bakke
ca34429617 nrf5/drivers: Tuning memory lcd driver a bit. Fixing small mp_printf usage bug. 2017-01-18 23:01:53 +01:00
Scott Shawcroft
1a86968912 atmel-samd: Fix neopixel timing by forcing the NVM cache to be deterministicly timed. Otherwise, bit order changes code timing. Fixes #74 2017-01-17 19:27:48 -08:00
Scott Shawcroft
42926c6159 atmel-samd: Fix whitespace. 2017-01-17 19:26:28 -08:00
Scott Shawcroft
179413aec2 atmel-samd: Support multiple ADC channels at once.
Fixes #61
2017-01-17 14:40:43 -08:00
Glenn Ruben Bakke
16489fced2 nrf5/drivers: Adding sharp memory display driver. For now hardcoded to 2.7 inch variant. 2017-01-17 23:15:30 +01:00
Glenn Ruben Bakke
174562f95b nrf5: Adding configuration define for sharp memory display series in mpconfigport.h preparing for driver to be included. 2017-01-17 00:36:48 +01:00
Scott Shawcroft
d239dbdc28 More fixes to pin pull thanks to jerryn:
* Correct atmel-samd pin pull state.
* Correct conversion from python pull objects to C enum.
2017-01-16 15:32:23 -08:00
Glenn Ruben Bakke
00a59ed8d6 nrf5/boards: Enable ssd1305 oled display to be default for pca10028 for now. 2017-01-16 23:39:50 +01:00
Glenn Ruben Bakke
733040e647 nrf5/drivers: Adding ssd1305 oled driver. This is very similar to ssd1306, so a merge will happen soon. 2017-01-16 23:37:52 +01:00
Glenn Ruben Bakke
40ee000680 nrf5/drivers: Adding ssd1305 oled driver. This is very similar to ssd1306, so a merge will happen soon. 2017-01-16 23:34:41 +01:00
Scott Shawcroft
df96823dee Fix pull kwarg DigitalInOut.switch_to_input and add example use to docs.
Thanks to jerryn from the Adafruit Forum for finding the bug!
2017-01-16 10:35:46 -08:00
Glenn Ruben Bakke
6ab233a5ba nrf5/drivers: Updating ili9341 display object to use new framebuffer. 2017-01-15 22:47:30 +01:00
Glenn Ruben Bakke
535f44b8bf nrf5/drivers: Updating ili9341 driver to use new framebuffer, and removing the compressed param from the line update function. 2017-01-15 22:46:23 +01:00
Glenn Ruben Bakke
8603fc833f nrf5: Adding micropython mem_info() to be included in mpconfigport.h. 2017-01-15 22:42:49 +01:00
Glenn Ruben Bakke
5618be883b nrf5/drivers: Adding example in comment on how to use the ili9341 driver with nrf51/pca10028 board. 2017-01-15 20:32:24 +01:00
Glenn Ruben Bakke
0380d2e781 nrf5/examples: Adding a extra global variable to the game which breaks the game execution. 2017-01-15 19:59:09 +01:00
Glenn Ruben Bakke
b0a730d482 nrf5/examples: Adding 2048 game using OLED SSD1306 128x64 display and analog joystick. 2017-01-15 19:47:13 +01:00
Glenn Ruben Bakke
73be85dd6d nrf52/boards: Increasing the stack and heap in pca10056 (nrf52840) target from 2k/32k to 40k/128k to debug some buffer problems when running large frozen python programs. 2017-01-15 19:39:57 +01:00
Glenn Ruben Bakke
c6fc0a134c nrf51/boards: Increasing heap and stack size in the pca10028 board. 2017-01-15 19:37:53 +01:00
Glenn Ruben Bakke
7edea7848d nrf51/boards: Enable display driver and oled ssd1306 (also bringing in framebuffer and graphics module) into the pca10028 target. 2017-01-15 19:34:52 +01:00
Glenn Ruben Bakke
1bbbb9dcae nrf5: Enable display/framebuffer.c and graphic/draw.c into the build. 2017-01-15 19:32:59 +01:00
Glenn Ruben Bakke
13161d0eac nrf5/drivers: Adding defines to exclude implementation of draw.c module if not enabled. 2017-01-15 19:32:11 +01:00
Glenn Ruben Bakke
b609ce85b5 nrf5: Adding configuration defines for the graphics module (draw) and enabling this by default if using oled ssd1306 display which has a compatible python object definition. 2017-01-15 19:31:22 +01:00
Glenn Ruben Bakke
bfca15bdff nrf5/drivers: Adding draw module with circle, rectangle and text functions. Can be used by any display object which implements display callback functions. 2017-01-15 19:18:14 +01:00
Glenn Ruben Bakke
4c06455105 nrf5/drivers: Moving oled ssd1306 driver over to new framebuffer layout. Moving some of the draw algorithms into the object in order to optimize the speed on writing data from the framebuffer. 2017-01-15 19:06:48 +01:00
Glenn Ruben Bakke
2b383b4ede nrf5/hal: Removing stdio.h include in adce.c which were used for debugging. 2017-01-15 17:55:35 +01:00
Glenn Ruben Bakke
c87716d715 nrf5/boards: Adding ADC pins in pins.csv file for pca10056 (nrf52840). 2017-01-15 17:53:30 +01:00
Glenn Ruben Bakke
496de3a839 nrf52/hal: Adding adce (saadc) implementation for nrf52 to sample values on a channel. 2017-01-15 17:51:49 +01:00
Glenn Ruben Bakke
63fc32e56f nrf5/adc: Adding all 8 instances to adc python module. Valid for both nrf51 and nrf52. 2017-01-15 17:28:41 +01:00
Glenn Ruben Bakke
56b3655f7e nrf5/drivers: Adding new structures to moddisplay. Adding a display_t structure to cast all other displays into, to retrieve function pointer table of a display object type. Also adding the function table structure which needs to be filled by any display object. 2017-01-15 16:21:27 +01:00
Glenn Ruben Bakke
46caefbeeb nrf5/drivers: Adding a new framebuffer implementation to replace the mono_fb. 2017-01-15 16:15:21 +01:00
Scott Shawcroft
78168bc984 Add more description of installing the library bundle. 2017-01-13 17:00:26 -08:00
Scott Shawcroft
35a5d44399 atmel-samd: Ensure pin state for first script run because we don't
know the post-bootloader state.

Also, color the status LED purple for ValueErrors which are used to
indicate a pin in use.
2017-01-13 15:39:50 -08:00
Scott Shawcroft
6c858c7a78 Travis is actually running trusty. xenial isn't supported yet. 2017-01-12 17:09:10 -08:00
Scott Shawcroft
0930f7a797 tests: Update ramdisk test to show more free space because our root directory is smaller than upstream's. 2017-01-12 14:56:17 -08:00
Scott Shawcroft
f6cf8ae208 atmel-samd: Split UART pin names into two so that all names start
with a letter and are therefore valid Python.

Fixes #73.
2017-01-12 13:53:47 -08:00
Scott Shawcroft
9ece7c907d Add persistent VFS shares so that the devices can be used with USB
that is present across soft-reset.
2017-01-12 12:46:44 -08:00
Scott Shawcroft
0d408488c5 atmel-samd: Turn off FRAMEBUF because it takes a lot of space. 2017-01-12 12:46:43 -08:00
Scott Shawcroft
cea5503ca0 Fixup warnings from merge about undefined macro values, switch to
VM keyboard exception and switch to FATFS reader.
2017-01-12 12:46:18 -08:00
Glenn Ruben Bakke
a5bb966614 nrf5/boards: Updating pca10028 (nrf51) board config. Enable SPI machine module. Enable flow control on UART. Correcting SPI CLK, MISO and MOSI pin assignments. 2017-01-12 19:54:07 +01:00
Glenn Ruben Bakke
6c54ed9a09 nrf5/adc: Updating adc module and hal with a new interface. No need for keeping peripheral base address in structure when there is only one peripheral (nrf51). 2017-01-12 17:20:08 +01:00
Glenn Ruben Bakke
24abb69eec nrf5/rtc: Correcting RTC1 base error in rtc template. 2017-01-12 08:47:16 +01:00
Glenn Ruben Bakke
719bdcfed4 nrf5: Adding adc module to machine module. 2017-01-11 22:13:18 +01:00
Glenn Ruben Bakke
4da435376d nrf5/hal: Updating hal_adc* with more api functions. 2017-01-11 22:12:41 +01:00
Glenn Ruben Bakke
38bb518e19 nrf5/adc: Adding updated adc module. 2017-01-11 22:01:20 +01:00
Glenn Ruben Bakke
994341fc3b nrf5/boards: Enabling ADCE (SAADC) variant of adc hal to match hardware on nrf52 series. 2017-01-11 20:19:31 +01:00
Glenn Ruben Bakke
3e112c40f3 nrf5/boards: Adding ADC config to pca10028 pins.csv 2017-01-11 20:18:04 +01:00
Glenn Ruben Bakke
8349fd0bb9 nrf5/boards: Tuning linker script for nrf51822_ac to get some more heap. 2017-01-11 20:14:53 +01:00
Glenn Ruben Bakke
affe0f8e98 nrf5: Updating nrf51_af.csv to reflect pins having ADC on the chip. 2017-01-11 20:13:59 +01:00
Glenn Ruben Bakke
5d5d06ff41 nrf5/boards: Updating make-pins.py to generate ADC pin settings from board pins.csv. 2017-01-11 20:12:32 +01:00
Glenn Ruben Bakke
bcf47b465e nrf5/hal: Updating hal_adc header to use correct Type for ADC on nrf52. 2017-01-11 17:29:50 +01:00
Glenn Ruben Bakke
728f98dc07 nrf5/adc: Updating module to compile. 2017-01-11 17:29:15 +01:00
Glenn Ruben Bakke
a0b0e13785 nrf5/boards: Enable ADC machine module for pca10028, pca10040 and pca10056. 2017-01-11 17:28:38 +01:00
Glenn Ruben Bakke
e952ab16b3 nrf5: Add add ADC machine module into build. 2017-01-11 17:20:18 +01:00
Glenn Ruben Bakke
6e6f139868 nrf5: Adding new config for ADC module in mpconfigport.h. 2017-01-11 17:18:54 +01:00
Glenn Ruben Bakke
0edf96fba6 nrf5/adc: Adding ADC machine module base files. Implementation missing. 2017-01-11 17:16:32 +01:00
Glenn Ruben Bakke
002ece145e nrf5: Adding hal_adc* into build. 2017-01-11 17:04:53 +01:00
Glenn Ruben Bakke
7016ece34d nrf5/boards: Enable ADC/SAADC hal for pca10028 (nrf51), pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-11 17:04:08 +01:00
Glenn Ruben Bakke
3b0fe69366 nrf5/hal: Removing chip variant guard for hal_adc*, and let this be up to the hal conf file to not mess up at the moment. 2017-01-11 17:02:41 +01:00
Glenn Ruben Bakke
d1f5e0992b nrf5: Add i2c.c, i2c machine module, and hal_twi into build. 2017-01-11 16:54:56 +01:00
Glenn Ruben Bakke
383db817f9 nrf5/boards: Enable hardware I2C machine module for pca10028 (nrf51), pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-11 16:54:00 +01:00
Glenn Ruben Bakke
8ca63e7196 nrf5/boards: Enable TWI hal for pca10028 (nrf51), pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-11 16:52:45 +01:00
Glenn Ruben Bakke
d7eec2032e nrf5/i2c: Adding files for hardware i2c machine module and adding config param in mpconfigport to disable by default. 2017-01-11 16:49:55 +01:00
Glenn Ruben Bakke
72b7e596ee nrf5/hal: Adding template files for TWI (i2c) hal. 2017-01-11 16:46:43 +01:00
Glenn Ruben Bakke
16dbbdfe9c nrf5/hal: Adding template files for ADC hal. 2017-01-11 16:43:31 +01:00
Scott Shawcroft
dfb61f01db Merge tag 'v1.8.7'
Support for Xtensa emitter and assembler, and upgraded F4 and F7 STM HAL

This release adds support for the Xtensa architecture as a target for the
native emitter, as well as Xtensa inline assembler.  The int.from_bytes
and int.to_bytes methods now require a second argument (the byte order)
per CPython (only "little" is supported at this time).  The "readall"
method has been removed from all stream classes that used it; "read" with
no arguments should be used instead.  There is now support for importing
packages from compiled .mpy files.  Test coverage is increased to 96%.

The generic I2C driver has improvements: configurable clock stretching
timeout, "stop" argument added to readfrom/writeto methods, "nack"
argument added to readinto, and write[to] now returns num of ACKs
received.  The framebuf module now handles 16-bit depth (generic colour
format) and has hline, vline, rect, line methods.  A new utimeq module is
added for efficient queue ordering defined by modulo time (to be
compatible with time.ticks_xxx functions).  The pyboard.py script has been
modified so that the target board is not reset between scripts or commands
that are given on a single command line.

For the stmhal port the STM Cube HAL has been upgraded: Cube F4 HAL to
v1.13.1 (CMSIS 2.5.1, HAL v1.5.2) and Cube F7 HAL to v1.1.2.  There is a
more robust pyb.I2C implementation (DMA is now disabled by default, can be
enabled via an option), and there is an implementation of machine.I2C with
robust error handling and hardware acceleration on F4 MCUs.  It is now
recommended to use machine.I2C instead of pyb.I2C.  The UART class is now
more robust with better handling of errors/timeouts.  There is also more
accurate VBAT and VREFINT measurements for the ADC.  New boards that are
supported include: NUCLEO_F767ZI, STM32F769DISC and NUCLEO_L476RG.

For the esp8266 port select/poll is now supported for sockets using the
uselect module.  There is support for native and viper emitters, as well
as an inline assembler (with limited iRAM for storage of native functions,
or the option to store code to flash).  There is improved software I2C
with a slight API change: scl/sda pins can be specified as positional only
when "-1" is passed as the first argument to indicate the use of software
I2C.  It is recommended to use keyword arguments for scl/sda.  There is
very early support for over-the-air (OTA) updates using the yaota8266
project.

A detailed list of changes follows.

py core:
- emitnative: fix native import emitter when in viper mode
- remove readall() method, which is equivalent to read() w/o args
- objexcept: allow clearing traceback with 'exc.__traceback__ = None'
- runtime: mp_resume: handle exceptions in Python __next__()
- mkrules.mk: rework find command so it works on OSX
- *.mk: replace uses of 'sed' with $(SED)
- parse: move function to check for const parse node to parse.[ch]
- parse: make mp_parse_node_new_leaf an inline function
- parse: add code to fold logical constants in or/and/not operations
- factor persistent code load/save funcs into persistentcode.[ch]
- factor out persistent-code reader into separate files
- lexer: rewrite mp_lexer_new_from_str_len in terms of mp_reader_mem
- lexer: provide generic mp_lexer_new_from_file based on mp_reader
- lexer: rewrite mp_lexer_new_from_fd in terms of mp_reader
- lexer: make lexer use an mp_reader as its source
- objtype: implement __call__ handling for an instance w/o heap alloc
- factor out common code from assemblers into asmbase.[ch]
- stream: move ad-hoc ioctl constants to stream.h and rename them
- compile: simplify configuration of native emitter
- emit.h: remove long-obsolete declarations for cpython emitter
- move arch-specific assembler macros from emitnative to asmXXX.h
- asmbase: add MP_PLAT_COMMIT_EXEC option for handling exec code
- asmxtensa: add low-level Xtensa assembler
- integrate Xtensa assembler into native emitter
- allow inline-assembler emitter to be generic
- add inline Xtensa assembler
- emitinline: embed entire asm struct instead of a pointer to it
- emitinline: move inline-asm align and data methods to compiler
- emitinline: move common code for end of final pass to compiler
- asm: remove need for dummy_data when doing initial assembler passes
- objint: from_bytes, to_bytes: require byteorder arg, require "little"
- binary: do zero extension when storing a value larger than word size
- builtinimport: support importing packages from compiled .mpy files
- mpz: remove unreachable code in mpn_or_neg functions
- runtime: zero out fs_user_mount array in mp_init
- mpconfig.h: enable MICROPY_PY_SYS_EXIT by default
- add MICROPY_KBD_EXCEPTION config option to provide mp_kbd_exception
- compile: add an extra pass for Xtensa inline assembler
- modbuiltins: remove unreachable code
- objint: rename mp_obj_int_as_float to mp_obj_int_as_float_impl
- emitglue: refactor to remove assert(0), to improve coverage
- lexer: remove unreachable code in string tokeniser
- lexer: remove unnecessary check for EOF in lexer's next_char func
- lexer: permanently disable the mp_lexer_show_token function
- parsenum: simplify and generalise decoding of digit values
- mpz: fix assertion in mpz_set_from_str which checks value of base
- mpprint: add assertion for, and comment about, valid base values
- objint: simplify mp_int_format_size and remove unreachable code
- unicode: comment-out unused function unichar_isprint
- consistently update signatures of .make_new and .call methods
- mkrules.mk: add MPY_CROSS_FLAGS option to pass flags to mpy-cross
- builtinimport: fix bug when importing names from frozen packages

extmod:
- machine_i2c: make the clock stretching timeout configurable
- machine_i2c: raise an error when clock stretching times out
- machine_i2c: release SDA on bus error
- machine_i2c: add a C-level I2C-protocol, refactoring soft I2C
- machine_i2c: add argument to C funcs to control stop generation
- machine_i2c: rewrite i2c.scan in terms of C-level protocol
- machine_i2c: rewrite mem xfer funcs in terms of C-level protocol
- machine_i2c: remove unneeded i2c_write_mem/i2c_read_mem funcs
- machine_i2c: make C-level functions return -errno on I2C error
- machine_i2c: add 'nack' argument to i2c.readinto
- machine_i2c: make i2c.write[to] methods return num of ACKs recvd
- machine_i2c: add 'stop' argument to i2c readfrom/writeto meths
- machine_i2c: remove trivial function wrappers
- machine_i2c: expose soft I2C obj and readfrom/writeto funcs
- machine_i2c: add hook to constructor to call port-specific code
- modurandom: allow to build with float disabled
- modframebuf: make FrameBuffer handle 16bit depth
- modframebuf: add back legacy FrameBuffer1 "class"
- modframebuf: optimise fill and fill_rect methods
- vfs_fat: implement POSIX behaviour of rename, allow to overwrite
- moduselect: use stream helper function instead of ad-hoc code
- moduselect: use configurable EVENT_POLL_HOOK instead of WFI
- modlwip: add ioctl method to socket, with poll implementation
- vfs_fat_file: allow file obj to respond to ioctl flush request
- modbtree: add method to sync the database
- modbtree: rename "sync" method to "flush" for consistency
- modframebuf: add hline, vline, rect and line methods
- machine_spi: provide reusable software SPI class
- modframebuf: make framebuf implement the buffer protocol
- modframebuf: store underlying buffer object to prevent GC free
- modutimeq: copy of current moduheapq with timeq support for refactoring
- modutimeq: refactor into optimized class
- modutimeq: make time_less_than be actually "less than", not less/eq

lib:
- utils/interrupt_char: use core-provided mp_kbd_exception if enabled

drivers:
- display/ssd1306.py: update to use FrameBuffer not FrameBuffer1
- onewire: enable pull up on data pin
- onewire/ds18x20: fix negative temperature calc for DS18B20

tools:
- tinytest-codegen: blacklist recently added uheapq_timeq test (qemu-arm)
- pyboard.py: refactor so target is not reset between scripts/cmd
- mpy-tool.py: add support for OPT_CACHE_MAP_LOOKUP_IN_BYTECODE

tests:
- micropython: add test for import from within viper function
- use read() instead of readall()
- basics: add test for logical constant folding
- micropython: add test for creating traceback without allocation
- micropython: move alloc-less traceback test to separate test file
- extmod: improve ujson coverage
- basics: improve user class coverage
- basics: add test for dict.fromkeys where arg is a generator
- basics: add tests for if-expressions
- basics: change dict_fromkeys test so it doesn't use generators
- basics: enable tests for list slice getting with 3rd arg
- extmod/vfs_fat_fileio: add test for constructor of FileIO type
- extmod/btree1: exercise btree.flush()
- extmod/framebuf1: add basics tests for hline, vline, rect, line
- update for required byteorder arg for int.from_bytes()/to_bytes()
- extmod: improve moductypes test coverage
- extmod: improve modframebuf test coverage
- micropython: get heapalloc_traceback test running on baremetal
- struct*: make skippable
- basics: improve mpz test coverage
- float/builtin_float_round: test round() with second arg
- basics/builtin_dir: add test for dir() of a type
- basics: add test for builtin locals()
- basics/set_pop: improve coverage of set functions
- run-tests: for REPL tests make sure the REPL is exited at the end
- basics: improve test coverage for generators
- import: add a test which uses ... in from-import statement
- add tests to improve coverage of runtime.c
- add tests to improve coverage of objarray.c
- extmod: add test for utimeq module
- basics/lexer: add a test for newline-escaping within a string
- add a coverage test for printing the parse-tree
- utimeq_stable: test for partial stability of utimeq queuing
- heapalloc_inst_call: test for no alloc for simple object calls
- basics: add tests for parsing of ints with base 36
- basics: add tests to improve coverage of binary.c
- micropython: add test for micropython.stack_use() function
- extmod: improve ubinascii.c test coverage
- thread: improve modthread.c test coverage
- cmdline: improve repl.c autocomplete test coverage
- unix: improve runtime_utils.c test coverage
- pyb/uart: update test to match recent change to UART timeout_char
- run-tests: allow to skip set tests
- improve warning.c test coverage
- float: improve formatfloat.c test coverage using Python
- unix: improve formatfloat.c test coverage using C
- unix/extra_coverage: add basic tests to import frozen str and mpy
- types1: split out set type test to set_types
- array: allow to skip test if "array" is unavailable
- unix/extra_coverage: add tests for importing frozen packages

unix port:
- rename define for unix moduselect to MICROPY_PY_USELECT_POSIX
- Makefile: update freedos target for change of USELECT config name
- enable utimeq module
- main: allow to print the parse tree in coverage build
- Makefile: make "coverage_test" target mirror Travis test actions
- moduselect: if file object passed to .register(), return it in .poll()
- Makefile: split long line for coverage target, easier to modify
- enable and add basic frozen str and frozen mpy in coverage build
- Makefile: allow cache-map-lookup optimisation with frozen bytecode

windows port:
- enable READER_POSIX to get access to lexer_new_from_file

stmhal port:
- dma: de-init the DMA peripheral properly before initialising
- i2c: add option to I2C to enable/disable use of DMA transfers
- i2c: reset the I2C peripheral if there was an error on the bus
- rename mp_hal_pin_set_af to _config_alt, to simplify alt config
- upgrade to STM32CubeF4 v1.13.0 - CMSIS/Device 2.5.1
- upgrade to STM32CubeF4 v1.13.0 - HAL v1.5.1
- apply STM32CubeF4 v1.13.1 patch - upgrade HAL driver to v1.5.2
- hal/i2c: reapply HAL commit ea040a4 for f4
- hal/sd: reapply HAL commit 1d7fb82 for f4
- hal: reapply HAL commit 9db719b for f4
- hal/rcc: reapply HAL commit c568a2b for f4
- hal/sd: reapply HAL commit 09de030 for f4
- boards: configure all F4 boards to work with new HAL
- make-stmconst.py: fix regex's to work with current CMSIS
- i2c: handle I2C IRQs
- dma: precalculate register base and bitshift on handle init
- dma: mark DMA sate as READY even if HAL_DMA_Init is skipped
- can: clear FIFO flags in IRQ handler
- i2c: provide custom IRQ handlers
- hal: do not include <stdio.h> in HAL headers
- mphalport.h: use single GPIOx->BSRR register
- make-stmconst.py: add support for files with invalid utf8 bytes
- update HALCOMMITS due to change to hal
- make-stmconst.py: restore Python 2 compatibility
- update HALCOMMITS due to change to hal
- moduselect: move to extmod/ for reuse by other ports
- i2c: use the HAL's I2C IRQ handler for F7 and L4 MCUs
- updates to get F411 MCUs compiling with latest ST HAL
- i2c: remove use of legacy I2C_NOSTRETCH_DISABLED option
- add beginnings of port-specific machine.I2C implementation
- i2c: add support for I2C4 hardware block on F7 MCUs
- i2c: expose the pyb_i2c_obj_t struct and some relevant functions
- machine_i2c: provide HW implementation of I2C peripherals for F4
- add support for flash storage on STM32F415
- add back GPIO_BSRRL and GPIO_BSRRH constants to stm module
- add OpenOCD configuration for STM32L4
- add address parameters to openocd config files
- adc: add "mask" selection parameter to pyb.ADCAll constructor
- adc: provide more accurate measure of VBAT and VREFINT
- adc: make ADCAll.read_core_temp return accurate float value
- adc: add ADCAll.read_vref method, returning "3.3v" value
- adc: add support for F767 MCU
- adc: make channel "16" always map to the temperature sensor
- sdcard: clean/invalidate cache before DMA transfers with SD card
- moduos: implement POSIX behaviour of rename, allow to overwrite
- adc: use constants from new HAL version
- refactor UART configuration to use pin objects
- uart: add support for UART7 and UART8 on F7 MCUs
- uart: add check that UART id is valid for the given board
- cmsis: update STM32F7 CMSIS device include files to V1.1.2
- hal: update ST32CubeF7 HAL files to V1.1.2
- port of f4 hal commit c568a2b to updated f7 hal
- port of f4 hal commit 09de030 to updated f7 hal
- port of f4 hal commit 1d7fb82 to updated f7 hal
- declare and initialise PrescTables for F7 MCUs
- boards/STM32F7DISC: define LSE_STARTUP_TIMEOUT
- hal: update HALCOMMITS due to change in f7 hal files
- refactor to use extmod implementation of software SPI class
- cmsis: add CMSIS file stm32f767xx.h, V1.1.2
- add NUCLEO_F767ZI board, with openocd config for stm32f7
- cmsis: add CMSIS file stm32f769xx.h, V1.1.2
- add STM32F769DISC board files
- move PY_SYS_PLATFORM config from board to general config file
- mpconfigport: add weak-module links for io, collections, random
- rename mp_const_vcp_interrupt to mp_kbd_exception
- usb: always use the mp_kbd_exception object for VCP interrupt
- use core-provided keyboard exception object
- led: properly initialise timer handle to zero before using it
- mphalport.h: explicitly use HAL's GPIO constants for pull modes
- usrsw: use mp_hal_pin_config function instead of HAL_GPIO_Init
- led: use mp_hal_pin_config function instead of HAL_GPIO_Init
- sdcard: use mp_hal_pin_config function instead of HAL_GPIO_Init
- add support for STM32 Nucleo64 L476RG
- uart: provide a custom function to transmit over UART
- uart: increase inter-character timeout by 1ms
- enable utimeq module

cc3200 port:
- tools/smoke.py: change readall() to read()
- pybspi: remove static mode=SPI.MASTER parameter for latest HW API
- mods/pybspi: remove SPI.MASTER constant, it's no longer needed
- update for moduselect moved to extmod/
- re-add support for UART REPL (MICROPY_STDIO_UART setting)
- enable UART REPL by default
- README: (re)add information about accessing REPL on serial
- make: rename "deploy" target to "deploy-ota"
- add targets to erase flash, deploy firmware using cc3200tool
- README: reorganize and update to the current state of affairs
- modwlan: add network.WLAN.print_ver() diagnostic function

esp8266 port:
- enable uselect module
- move websocket_helper.py from scripts to modules for frozen BC
- refactor to use extmod implementation of software SPI class
- mpconfigport_512k: disable framebuf module for 512k build
- enable native emitter for Xtensa arch
- enable inline Xtensa assembler
- add "ota" target to produce firmware binary for use with yaota8266
- use core-provided keyboard exception object
- add "erase" target to Makefile, to erase entire flash
- when doing GC be sure to trace the memory holding native code
- modesp: flash_user_start(): support configuration with yaota8266
- force relinking OTA firmware image if built after normal one
- scripts/inisetup: dump FS starting sector/size on error
- Makefile: produce OTA firmware as firmware-ota.bin
- modesp: make check_fw() work with OTA firmware
- enable utimeq module
- Makefile: put firmware-ota.bin in build/, for consistency
- modules/flashbdev: add RESERVED_SECS before the filesystem
- modules/flashbdev: remove code to patch bootloader flash size
- modules/flashbdev: remove now-unused function set_bl_flash_size
- modules/flashbdev: change RESERVED_SECS to 0

zephyr port:
- add .gitignore to ignore Zephyr's "outdir" directory
- zephyr_getchar: update to Zephyr 1.6 unified kernel API
- switch to Zephyr 1.6 unified kernel API
- support raw REPL
- implement soft reset feature
- main: initialize sys.path and sys.argv
- use core-provided keyboard exception object
- uart_core: access console UART directly instead of printk() hack
- enable slice subscription

docs:
- remove references to readall() and update stream read() docs
- library/index: elaborate on u-modules
- library/machine.I2C: refine definitions of I2C methods
- library/pyb.Accel: add hardware note about pins used by accel
- library/pyb.UART: added clarification about timeouts
- library/pyb.UART: moved writechar doc to sit with other writes
- esp8266/tutorial: update intro to add Getting the firmware section
- library/machine.I2C: fix I2C constructor docs to match impl
- esp8266/tutorial: close socket after reading page content
- esp8266/general: add "Scarcity of runtime resources" section
- library/esp: document esp.set_native_code_location() function
- library/esp: remove para and add further warning about flash
- usocket: clarify that socket timeout raises OSError exception

travis:
- build STM32 F7 and L4 boards under Travis CI
- include persistent bytecode with floats in coverage tests

examples:
- hwapi: button_led: Add GPIO pin read example
- hwapi: add soft_pwm example converted to uasyncio
- http_client: use read() instead of readall()
- hwapi: add uasyncio example of fading 2 LEDs in parallel
- hwapi: add example for machine.time_pulse_us()
- hwapi: add hwconfig for console tracing of LED operations
- accellog.py: change 1: to /sd/, and update comment about FS
- hwapi/hwconfig_console: don't alloc memory in value()
2017-01-10 09:56:09 -08:00
Glenn Ruben Bakke
ea7416216c nrf5/drivers: Correcting tabbing in oled ssd1306 c-module. 2017-01-10 18:31:44 +01:00
Glenn Ruben Bakke
28e1e506f6 nrf5/boards: Enable SSD1306 spi driver for pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-10 18:28:11 +01:00
Glenn Ruben Bakke
073cfc0a2e nrf5/drivers: Adding SSD1306 SPI display driver. Not complete, but can do fill screen operation atm. 2017-01-10 18:26:58 +01:00
Scott Shawcroft
f874edf58e docs: Add link to DS1307 drivers. 2017-01-09 16:34:23 -08:00
Scott Shawcroft
d05adc89fa Add arduino zero to default builder and change name to circuitpython. 2017-01-09 12:55:23 -08:00
Glenn Ruben Bakke
1d2bf26373 nrf5/drivers: Adding epaper display example script in comment for pca10056 / nrf52840 in the display module. 2017-01-09 19:45:37 +01:00
Glenn Ruben Bakke
dd7007240c nrf5/boards: Enable PWM module and epaper display module in pca10056 board config. 2017-01-09 19:44:31 +01:00
Glenn Ruben Bakke
1208970f6c nrf5/drivers: Adding some more delay on bootup to ensure display recovers after reset. 2017-01-09 19:33:01 +01:00
Glenn Ruben Bakke
22c7cf7358 nrf5/examples: Adding copy of ssd1306.py driver hardcoded with SPI and Pin assignments. 2017-01-09 17:52:42 +01:00
Glenn Ruben Bakke
2ac3b23c0e nrf5/drivers: Updating ili9341 driver to set CS high after cmd or data write. 2017-01-09 17:51:16 +01:00
Scott Shawcroft
24765929ea atmel-samd: Update pinouts for prototypes. 2017-01-08 22:11:27 -08:00
Scott Shawcroft
161ab018ba Correct monotonic.
Fixes #69.
2017-01-08 22:10:33 -08:00
Glenn Ruben Bakke
6b976c410c nrf5/drivers: Extending print function for ili9341 object to also print out gpio port of the SPI pins. 2017-01-08 22:35:46 +01:00
Glenn Ruben Bakke
4ca61a9d0e nrf5/boards: Giving a bit more heap for nrf52840 linker script. 2017-01-08 22:34:48 +01:00
Glenn Ruben Bakke
9a8bf934c6 nrf5/drivers: bugfix of the sld00200p driver. Stopping the pwm instead of restarting it. Shuffle placement of static function. 2017-01-08 21:29:13 +01:00
Glenn Ruben Bakke
859380afe8 nrf5/drivers: Correcting object print function to also include port number of the SPI pins. Correcting usage script example in comment. 2017-01-08 21:27:37 +01:00
Glenn Ruben Bakke
8a69f42f84 nrf5/drivers: Adding an initial script as comment for ili9341 on nrf52840/pca10056 in the driver module comment. 2017-01-08 21:25:42 +01:00
Glenn Ruben Bakke
06e0f5d081 nrf5/examples: Removing tabs from epaper python script usage comment, so that it is easier to copy paste. 2017-01-08 21:23:33 +01:00
Glenn Ruben Bakke
b83052f8d1 nrf5/hal: Refining if-defs to set up GPIO base pointers in mphalport.h 2017-01-08 21:20:59 +01:00
Glenn Ruben Bakke
130f407287 nrf5/devices: Removing define which clutters ported modules from nrf.h. 2017-01-08 21:20:12 +01:00
Glenn Ruben Bakke
268d988553 nrf5/boards: Enabling spi in pca10056 hal config. 2017-01-08 21:19:23 +01:00
Glenn Ruben Bakke
c8cc2aa6f9 nrf5/boards: Enabling ili9341 display drivers and to be compiled in on pca10056 target board. Updating SPI configuration with gpio port. 2017-01-08 21:18:18 +01:00
Glenn Ruben Bakke
bc22cc9ce8 nrf5/boards: Enabling display drivers/spi/pwm to be compiled in on pca10040 target board. Updating SPI configuration with gpio port. 2017-01-08 21:16:41 +01:00
Glenn Ruben Bakke
0676c9774a nrf5/hal: Correcting SPI psel port position define name to the one defined in nrf52840_bitfields.h 2017-01-08 20:31:30 +01:00
Glenn Ruben Bakke
604ae87192 nrf5/led: Hardcoding GPIO port 0 for Led module for now. 2017-01-08 16:41:48 +01:00
Glenn Ruben Bakke
3e1da27f2b nrf5/hal: Changing import of nrf52 includes in hal_uarte.c to not be explicit. Now only nrf.h is included. 2017-01-08 16:41:11 +01:00
Glenn Ruben Bakke
43a2355665 nrf5: Updating pin, spi and uart to use port configuration for gpio pins. Update pin generation script, macros for PIN generation. Updating macros for setting pin values adding new port parameter to select the correct GPIO peripheral port. 2017-01-08 16:40:18 +01:00
Glenn Ruben Bakke
014e650499 nrf5/boards: Disable SPI hal from pca10001 board. 2017-01-08 16:28:18 +01:00
Glenn Ruben Bakke
ec44f6427b nrf5/boards: Disable SPI/Timer/RTC hal from microbit board. 2017-01-08 16:27:35 +01:00
Glenn Ruben Bakke
8e71bcea07 nrf5: Exclude import of pwm.h in modmachine.c if MICROPY_PY_MACHINE_PWM is not set, as nrf51 does not yet have this module yet. 2017-01-08 16:26:03 +01:00
Glenn Ruben Bakke
b75cefd383 nrf5: Exclude import of pwm.h in main.c if MICROPY_PY_MACHINE_PWM is not set, as nrf51 does not yet have this module yet. 2017-01-08 16:25:10 +01:00
Glenn Ruben Bakke
c389872408 nrf5/drivers: Block nrf51 from compiling epaper_sld00200p for the moment. There is no soft-pwm present yet, and including pwm would just make compilation fail now. 2017-01-08 16:23:00 +01:00
Glenn Ruben Bakke
db9eef64a5 nrf5/hal: Making nrf51/2_hal.h go trough nrf.h to find bitfields and other mcu headers instead of explicit include. 2017-01-08 16:20:01 +01:00
Glenn Ruben Bakke
392e226b2c nrf5/boards: Adding more pins to nrf52840 / pca10056 target board. 2017-01-08 16:16:29 +01:00
Glenn Ruben Bakke
942942780f nrf5/pin: Adding more pins to nrf52_af.csv file for nrf52840. Port '1' will be prefixed 'B'. 2017-01-08 16:10:47 +01:00
Glenn Ruben Bakke
ef8e679d77 nrf5/pin: Adding PORT_B to Pin port enum to reflect gpio port 1 on nrf52840. 2017-01-08 16:08:47 +01:00
Glenn Ruben Bakke
6973c13608 nrf5/boards: Updating all board configs with gpio port configuration for uart/spi pins. Leds still not defined by gpio port. 2017-01-08 16:04:52 +01:00
Glenn Ruben Bakke
307f95bd03 nrf5/devices: Updating header files for nrf51 and nrf52. Adding headers for nrf52840. 2017-01-08 15:32:26 +01:00
Glenn Ruben Bakke
19d354ed05 nrf5: Updating to use new nrfjprog in makefile. Needed for nrf52840 targets. Changed from pinreset to debug reset. 2017-01-08 15:17:03 +01:00
Glenn Ruben Bakke
4f04eed4c5 nrf5/boards: Updating makefiles to use system.c files based on sub-variant of mcu. 2017-01-08 15:15:36 +01:00
Glenn Ruben Bakke
721065b307 nrf5/devices: Renaming system.c files for nrf51 and nrf52 to be more explicit on which version of chip they are referring to. 2017-01-08 13:32:13 +01:00
Glenn Ruben Bakke
9214381671 nrf5/drivers: Backing up working epaper display (sld00200p shield) driver before refactoring. 2017-01-07 00:07:17 +01:00
Glenn Ruben Bakke
a2e2f3c07e nrf5/drivers: Fixing parenthesis in ILI9341 __str__ print function. 2017-01-06 23:41:16 +01:00
Glenn Ruben Bakke
ad4149cc80 nrf5/pwm: Moving out object types to header file so that it can be resused by other modules. 2017-01-06 23:40:23 +01:00
Scott Shawcroft
37f2ff11e4 Add more detail to the driver page including a link to the bundle. 2017-01-06 13:18:40 -08:00
Glenn Ruben Bakke
67683722c8 nrf5/drivers: Updating a working version of ili9341 module and driver. About 10 times faster than python implementation to update a full screen. 2017-01-06 20:18:00 +01:00
Glenn Ruben Bakke
f92e581e13 nrf5: Started to split up lcd_mono_fb such that it can be used as a c-library and python module with the same implementaton. 2017-01-06 20:06:09 +01:00
Glenn Ruben Bakke
795df06283 nrf5/hal: Adding include of stdbool.h in hal_spi.h as it is used by the header. 2017-01-06 19:59:58 +01:00
Scott Shawcroft
1c3ed97e3b Add Gitter integration to Travis and add badges to the docs. 2017-01-06 10:59:20 -08:00
Scott Shawcroft
63681a736a Link to the Bus Device docs. 2017-01-05 18:43:22 -08:00
Scott Shawcroft
00a507c875 Update more docs to say CircuitPython and clarify driver support. 2017-01-05 16:32:33 -08:00
Scott Shawcroft
ce94b3f0b4 Ignore the bin folder that can be used to collect binaries across ports. 2017-01-05 16:21:16 -08:00
Scott Shawcroft
7c302c395e Improve docs and update to CircuitPython. 2017-01-05 16:20:46 -08:00
Scott Shawcroft
25ae844d55 Rename to CircuitPython 2017-01-05 14:36:52 -08:00
Scott Shawcroft
89f4a5597b atmel-samd: New revs which isolate the SPI for the external flash. 2017-01-05 14:36:33 -08:00
Scott Shawcroft
e52fbf2e6a Add time.struct_time support. 2017-01-05 14:00:48 -08:00
Glenn Ruben Bakke
62c3f9c1e3 nrf5/drivers: Adding preliminary file for ili9341 lcd driver. 2017-01-05 21:57:59 +01:00
Glenn Ruben Bakke
042e3653cf nrf5/hal: Adding support for NULL pointer to be set if no rx buffer is of interest in SPI rx_tx function. 2017-01-05 21:56:17 +01:00
Glenn Ruben Bakke
a8dc8cb236 nrf5: Adding ili9341 class and driver files in Makefile to be included in build. 2017-01-05 20:16:24 +01:00
Glenn Ruben Bakke
a62573ad41 nrf5/drivers: Adding template files for upcomming ili9341 driver. 2017-01-05 20:15:23 +01:00
Glenn Ruben Bakke
5079cb0a25 nrf5/drivers: Adding lcd ili9341 object implementation to make a new instance. print implemented for debugging pins assigned to the display driver. No interaction yet with the hal driver. 2017-01-05 20:13:51 +01:00
Glenn Ruben Bakke
28539221ce nrf5/drivers: Adding ILI9341 class to the display global dict. 2017-01-05 20:01:23 +01:00
Glenn Ruben Bakke
56d187b942 nrf5/boards: Changing tft lcd display name from SLD10261P to ILI9341 in pca10040 board configuration. 2017-01-05 19:59:25 +01:00
Glenn Ruben Bakke
e7c535b0cb nrf5: Moving out mp_obj_framebuf_t to the header file to get access to it from other modules. Exposing helper function to make new framebuffer object from c-code. 2017-01-05 19:58:12 +01:00
Glenn Ruben Bakke
4c24d39122 nrf5: Trimming down display configurations in mpconfigport.h 2017-01-05 19:56:09 +01:00
Glenn Ruben Bakke
f9ffcfdb7d nrf5/spi: Moving *_spi_obj_t out of implementation file to header. Setting hal init structure in the object structure instead of making a temp struct to configure hal. This would enable lookup of the spi settings later. 2017-01-05 19:50:20 +01:00
Glenn Ruben Bakke
b85b3b4e24 nrf5: Removing epaper, lcd and oled modules from Makefile source list as the display modules has been moved to display root folder. 2017-01-05 10:35:39 +01:00
Glenn Ruben Bakke
aaadec99e0 nrf5/drivers: Removing one level of module hierarchy in display drivers. Removed epaper, lcd and oled modules, making import of classes happen directly from display module. 2017-01-05 00:49:21 +01:00
Glenn Ruben Bakke
6cddad02a8 nrf5/drivers: Creating python object implementation (locals) to be used for epaper sld00200p. 2017-01-04 21:10:06 +01:00
Glenn Ruben Bakke
4c0bb63e2b nrf5: Moving color defines in lcd_mono_fb from .c to .h so that it can be reused by other modules. 2017-01-04 21:06:51 +01:00
Scott Shawcroft
4bf7c6fb6e Use full link because relative links don't work. 2017-01-04 11:27:36 -08:00
Scott Shawcroft
b6093a2452 Switch to subprojects for driver docs. 2017-01-04 11:23:18 -08:00
Glenn Ruben Bakke
6a077806c6 nrf5: Enable MICROPY_FINALISER and REPL_AUTO_INDENT. 2017-01-04 20:11:41 +01:00
Glenn Ruben Bakke
31a54e063a nrf5/drivers: Adding requirement for nrf52 target on the epaper sld00200p for now. There is no ported PWM module for nrf51 target yet. Hence, soft PWM for nrf51 needs to be added. 2017-01-04 20:05:01 +01:00
Glenn Ruben Bakke
cc3364db7f nrf5: Adding suffix to _obj on epaper_sld00200p module. 2017-01-04 20:00:10 +01:00
Glenn Ruben Bakke
643bf19466 nrf5: Correcting define name for epaper sld00200p, missing 0. 2017-01-04 19:59:12 +01:00
Glenn Ruben Bakke
d2f5f1fe60 nrf5/drivers: Enable EPAPER_SLD00200P in epaper module globals table. 2017-01-04 19:57:58 +01:00
Glenn Ruben Bakke
6300c6045a nrf5/drivers: Adding missing file for epaper module / driver. 2017-01-04 19:56:53 +01:00
Glenn Ruben Bakke
5875013670 nrf5/modules: Moving python scripts to examples folder to free up some flash space on constrained targets as modules folder is used as frozen files folder. 2017-01-04 17:27:02 +01:00
Glenn Ruben Bakke
25947a1b00 nrf5/boards: Enable display module to be built in. Also adding one epaper display and one tft lcd to test display module when porting the corresponding drivers to micropython. 2017-01-04 17:22:58 +01:00
Glenn Ruben Bakke
87f250deec nrf5/drivers: Removing external decleration of display module in header. 2017-01-04 17:20:51 +01:00
Glenn Ruben Bakke
2b92438d94 nrf5/drivers: Renaming display module to mp_module prefix as it is going to be inbuilt. ifdef'ing all submodules based on type of display configured through mpconfigport.h 2017-01-04 17:20:00 +01:00
Glenn Ruben Bakke
6b492cd8c4 nrf5/drivers: Adding ifdef sourrounding the implementation of module. Configurable with mpconfigport.h. 2017-01-04 17:18:47 +01:00
Glenn Ruben Bakke
bace74fba4 nrf5: Adding display module to port builtins. 2017-01-04 17:14:44 +01:00
Glenn Ruben Bakke
f97eded57e nrf5/drivers: Adding driver files to makefile. Implicitly adding display module. 2017-01-04 17:13:19 +01:00
Scott Shawcroft
c82f224598 Reduce size of root directory because its allocated a fixed size (was 16k, now 4k). Tests show this holds ~32 files and subdirectories. 2017-01-03 18:29:34 -08:00
Scott Shawcroft
e3aaffc8fd esp8266: Support data descriptors because its heavily used by the Register library.
Fixes #68
2017-01-03 15:01:44 -08:00
Glenn Ruben Bakke
bae425ca05 nrf5/drivers: Adding template for c-implementation of lcd, epaper and oled drivers as a display module. 2017-01-03 22:16:00 +01:00
Glenn Ruben Bakke
5265d70329 nrf5/modules: Updating to correct name of display in epaper driver. 2017-01-03 21:32:17 +01:00
Glenn Ruben Bakke
ef234503ef nrf5/modules: Adding python epaper display driver. Currently colors have been reversed. 2017-01-03 21:25:06 +01:00
Glenn Ruben Bakke
c34127e754 nrf5/hal: Fixing bug in mp_hal_pin_read in mphalport.h which tried to read an OUT register. Corrected to read the IN register. 2017-01-03 21:17:37 +01:00
Glenn Ruben Bakke
7b6bdc4c2b nrf5: Adding sleep_us to modutime.c and exposing mp_hal_delay_us in hal/hal_time.h 2017-01-03 21:15:53 +01:00
Glenn Ruben Bakke
70198b07a5 nrf5/lcd: Updating framebuffer with double buffer for epaper displays. Moving statics into instance struct. Adding new function to refresh using old buffer, such that epaper can get a cleaner image after update. 2017-01-03 21:12:49 +01:00
Glenn Ruben Bakke
11fc46ca6f nrf5/boards: Adding initial microbit build files and board configurations. 2017-01-03 17:02:49 +01:00
Glenn Ruben Bakke
31569dc952 nrf5: Makefile option to set FLASHER when doing flash target. If defined in board .mk file, this will be used, else nrfjprog will be used by default (segger). This opens up for using pyocd flashtool and still run 'make flash'. 2017-01-03 17:00:06 +01:00
Glenn Ruben Bakke
4b6a12a251 nrf5/boards: Updating pca10028 board config to not define RTS/CTS pins when HWFC is set to 0. 2017-01-03 16:57:05 +01:00
Glenn Ruben Bakke
994b1689e3 nrf5/uart: Making compile time exclusion of RTS/CTS if not defined to use flow control by board configuration. 2017-01-03 16:54:33 +01:00
Glenn Ruben Bakke
04751defa0 nrf5/spi: Removing automatic chip select (NSS) in hal_spi.c. Also removing configuration of this pin as it is confusing to pass it if not used. User of SPI has to set the NSS/CS itself. 2017-01-02 12:51:56 +01:00
Glenn Ruben Bakke
bcb0c9d8cb nrf5/modules: Updating PWM test python script to cope with new api. 2016-12-31 17:21:38 +01:00
Glenn Ruben Bakke
1bc50dbeb5 nrf5/hal: Fixing some issues in PWM stop function. Doing a proper stop and disable the peripheral. 2016-12-31 17:20:54 +01:00
Glenn Ruben Bakke
3d120ac103 nrf5/pwm: Implementing start and stop call to hal on init and deinit as hal_init does not longer start the PWM automatically. 2016-12-31 17:07:30 +01:00
Glenn Ruben Bakke
5e322ea078 nrf5/hal: Exposing two new PWM hal functions start() and stop(). 2016-12-31 17:06:07 +01:00
Glenn Ruben Bakke
c5d77f0e7e nrf5/hal: Moving enablement of PWM task from init to a start function. Also activating code in stop function to stop the PWM. 2016-12-31 17:05:32 +01:00
Glenn Ruben Bakke
38607ee445 nrf5/modules: Adding licence text on seeedstudio tft shield python modules. 2016-12-31 14:02:05 +01:00
Glenn Ruben Bakke
520105aaa7 nrf52/boards: Tuning linker script for nrf52832 when using iot softdevice. Need more heap for LCD framebuffer. 2016-12-29 17:08:16 +01:00
Glenn Ruben Bakke
64d2827233 nrf5/lcd: Adding lcd_mono_fb.c to source list in the makefile. Adding define in implementation to de-select the file from being included. Adding module to PORT BUILTIN in mpconfigport.h 2016-12-29 17:03:15 +01:00
Glenn Ruben Bakke
a7832a203f nrf52/sdk: Correcting path to iot softdevice if SDK is enabled. 2016-12-29 16:48:47 +01:00
Glenn Ruben Bakke
387725ce60 nrf5: Adding help text for CTRL-D (soft reset) and and CTRL-E (paste mode) in help.c 2016-12-29 16:12:54 +01:00
Glenn Ruben Bakke
342ffadc59 nrf5: Adding handling of CTRL+D to reset chip in main.c. Call to NVIC System Reset is issued. 2016-12-29 16:11:59 +01:00
Glenn Ruben Bakke
82746d4549 nrf5/lcd: Correcting indention (tabs with space) in framebuffer module source and header. 2016-12-29 15:54:47 +01:00
Glenn Ruben Bakke
c8ff22ced0 nrf5/lcd: Changing framebuffer to use petme128 8x8 font. This is vertical font. Code modified to flip and mirror the font when rendering a character. Adding copy of the font from stmhal. 2016-12-29 15:35:24 +01:00
Glenn Ruben Bakke
af116d1d80 nrf5/modules: Adding new driver for seeedstudio tft shield v2, using new framebuffer module which handles faster update on single lines, callback driven write on each line which is touched in the framebuffer. 2016-12-29 14:39:41 +01:00
Glenn Ruben Bakke
0626371378 nrf5/lcd: Adding header file for lcd_mono_fb. 2016-12-29 14:31:56 +01:00
Glenn Ruben Bakke
6179abd6f7 nrf5/lcd: Updating brackets in framebuffer module. 2016-12-29 14:30:24 +01:00
Glenn Ruben Bakke
85c9db4bcd nrf5/lcd: Renaming variable name from m_ to p_ 2016-12-29 14:26:26 +01:00
Glenn Ruben Bakke
d14a72795c nrf5/lcd: Cleaning up a bit in lcd framebuffer. 2016-12-29 14:25:30 +01:00
Glenn Ruben Bakke
88e45f85c3 nrf5/lcd: Adding work in progress monochrome lcd framebuffer driver which only updates modified (dirty) display lines. 2016-12-29 13:03:47 +01:00
Glenn Ruben Bakke
02203389c2 nrf5/modules: Updating pulse test to set output direction on the LED pin used in the test. 2016-12-29 08:53:38 +01:00
Glenn Ruben Bakke
cfbe91a709 nrf5/modules: Updating seeedstudio tft lcd driver to render using already existing framebuffer implementation. 2016-12-29 08:52:32 +01:00
Glenn Ruben Bakke
5f4cf7b908 nrf5/boards: Bouncing up heap to 32k on pca10040 to allow for application to allocate 9600bytes+ framebuffer when using LCD screen (240x320). 2016-12-29 08:49:20 +01:00
Glenn Ruben Bakke
d2969048ff nrf5/modules: Adding a function to get access to the SD card flash drive on the seeedstudio tft shield. 2016-12-27 16:05:49 +01:00
Glenn Ruben Bakke
cceea0a504 nrf5/modules: Adding new python script to initialize and clear the display on Seeedstudio 2.8 TFT Touch Shield v2. 2016-12-27 15:47:55 +01:00
Glenn Ruben Bakke
db994e2ec0 nrf5/modules: Updating documentation on sdcard.py copy to use new params in the example description 2016-12-27 15:44:39 +01:00
Glenn Ruben Bakke
9197739cf4 nrf5/modules: Updating mountsd, SD card test script with new params. 2016-12-27 15:42:35 +01:00
Glenn Ruben Bakke
d6300a2e82 nrf5/pin: Merging input and output pin configuration to one comon function. Adding implementation in Pin class to be able to configure mode and pull. Updating drivers which uses gpio pin configuration to use new function parameters. 2016-12-27 15:40:20 +01:00
Glenn Ruben Bakke
4fee95c468 nrf5: Adding rtc.c which implements the machine rtc module to be included in build. 2016-12-26 16:53:24 +01:00
Glenn Ruben Bakke
46ddf2ed70 nrf5/boards: Enable MICROPY_PY_MACHINE_RTC in pca10028 (nrf51) and pca10040 (nrf52) targets. 2016-12-26 16:50:59 +01:00
Glenn Ruben Bakke
c2d2958205 nrf5/hal: Adding empty init function in hal_rtc.c 2016-12-26 16:49:27 +01:00
Glenn Ruben Bakke
22c62fb53f nrf5/hal: Adding structures and init function prototype to hal_rtc.h. 2016-12-26 16:48:56 +01:00
Glenn Ruben Bakke
d78d717733 nrf5: Setting MICROPY_PY_MACHINE_RTC to disabled by default (during development) in mpconfigport.h. This can be overriden by board config. 2016-12-26 16:47:56 +01:00
Glenn Ruben Bakke
bab030d793 nrf5/rtc: Adding skeleton for machine rtc module for nrf51/52. 2016-12-26 16:46:23 +01:00
Glenn Ruben Bakke
d79588ddf4 nrf5: Adding timer.c which implements the machine timer module to be included in build. 2016-12-26 16:20:36 +01:00
Glenn Ruben Bakke
a3cc6abba6 nrf5: Setting MICROPY_PY_MACHINE_TIMER to disabled by default (during development) in mpconfigport.h. This can be overriden by board config. 2016-12-26 16:19:48 +01:00
Glenn Ruben Bakke
8e7f9d7c38 nrf5/boards: Enable MICROPY_PY_MACHINE_TIMER in pca10028 (nrf51) and pca10040 (nrf52) targets. 2016-12-26 16:18:16 +01:00
Glenn Ruben Bakke
e4365fcac4 nrf5: Adding initialization of timer module if enabled by MICROPY_PY_MACHINE_TIMER. 2016-12-26 16:15:26 +01:00
Glenn Ruben Bakke
9c828c7630 nrf5/timer: Adding initializaton of id field for Timer_HandleTypeDef's. Adding simple print function. Adding make_new function. Enabling the functions in machine_timer_type. 2016-12-26 16:13:09 +01:00
Glenn Ruben Bakke
53fdcf91d7 nrf5/hal: Adding empty init function in hal_timer.c 2016-12-26 16:08:59 +01:00
Glenn Ruben Bakke
9b084fc376 nrf5/hal: Adding structures and init function prototype to hal_timer.h. 2016-12-26 16:08:22 +01:00
Glenn Ruben Bakke
8cce985765 nrf5/timer: Adding skeleton for machine timer module for nrf51/52. 2016-12-26 14:03:50 +01:00
Glenn Ruben Bakke
5c327f2f2f nrf/boards: Adding RTC and TIMER hal to be linked in when implemented. Enable one board for nrf51 and one for nrf52 for ease of debugging when implementing the hal. 2016-12-25 18:15:32 +01:00
Glenn Ruben Bakke
1e79ccf305 nrf5: Adding rtc and timer hal to Makefile. 2016-12-25 18:12:51 +01:00
Glenn Ruben Bakke
1264122e76 nrf5/hal: Adding skeleton files for rtc and timer driver. 2016-12-25 18:10:31 +01:00
Glenn Ruben Bakke
c1c78404b6 nrf5/modules: Updating pulse example to work with Pin object instead of hard coded pin number. 2016-12-24 01:16:23 +01:00
Glenn Ruben Bakke
d759123886 nrf5/pwm: Switching from hardcoded pin number to Pin object type as input to the new() function. Also changing the parameter from kw to arg. 2016-12-24 01:15:37 +01:00
Glenn Ruben Bakke
3191a31ce8 nrf5/modules: updating test python file with correct PWM frequency type. 2016-12-24 00:30:35 +01:00
Scott Shawcroft
a9087fbaa2 atmel-samd: Change cplay pins to rev B. 2016-12-21 15:29:25 -08:00
Scott Shawcroft
7ce69959f9 atmel-samd: Tweaks for rev B of the prototype circuit playground. 2016-12-21 14:07:50 -08:00
Scott Shawcroft
f48d2df634 atmel-samd: Improve TouchIn to allow for multiple simultaneous touch pads. 2016-12-20 16:39:32 -08:00
Glenn Ruben Bakke
2db3f0deb7 nrf5/modules: Adding a python test file with function to dim a specific led (17). 2016-12-20 23:21:17 +01:00
Glenn Ruben Bakke
0999226103 nrf5/pwm: Updating pwm module with freq function which re-initilises the PWM instance such that new frequency will be applied. 2016-12-20 23:15:26 +01:00
Scott Shawcroft
e8db23d241 esp8266: Add limited (untested) UART support. 2016-12-19 17:32:40 -08:00
Scott Shawcroft
427d33c706 atmel-samd: Add help() and remove mem_info functions from smallest builds to make room. 2016-12-19 16:38:35 -08:00
Scott Shawcroft
576373552a atmel-samd: Run the VM hook while waiting for the UART read to timeout in case nothing is received. 2016-12-19 16:36:32 -08:00
Scott Shawcroft
b09a711eb0 Merge pull request #66 from tannewt/uart
Thanks to @turbinenreiter for the first work on this.

I heavily modified it to work with a circular RX buffer of configurable size. The main API is the same as the stream API and is a subset of upstream's machine.UART.

Fixes #46
2016-12-19 14:02:14 -08:00
Scott Shawcroft
f2bfbab6a0 atmel-samd: Save space by not creating default files on the FS and by only keeping LED flashing code when LEDs are present. 2016-12-19 13:03:50 -08:00
Sebastian Plamauer
1598e44231 atmel-samd: Add preliminary support for UART 2016-12-19 13:03:50 -08:00
Glenn Ruben Bakke
db1faf85f7 nrf5/pwm: Initializing pwm instances in main.c if enabled by MICROPY_PY_MACHINE_PWM. 2016-12-19 17:10:48 +01:00
Glenn Ruben Bakke
faa1b77844 nrf5/pwm: Adding api to initialize pwm instances. 2016-12-19 17:09:46 +01:00
Glenn Ruben Bakke
b4dc9254ac nrf5: Updating mpconfigport.h to set a default for PWM machine module to be enabled by default, if not disabled in a board config. Refactoring order in the file. 2016-12-17 01:29:12 +01:00
Glenn Ruben Bakke
b350dc5198 nrf52: Set names to be used on PWM0-2 in board config. For nrf52840, the PWM3 is excluded as repo does not have latest headers to reflect this yet. Bump up to be done soon. 2016-12-17 01:27:58 +01:00
Glenn Ruben Bakke
dd9812e1e9 nrf52: Enable PWM HAL for both pca10040 (nrf52832) and pca10056 (nrf52840). 2016-12-17 01:21:32 +01:00
Glenn Ruben Bakke
275bf46831 nrf51: Disable MICROPY_PY_MACHINE_PWM for now in all nrf51 target boards as sw impl. is not yet included in the repo. 2016-12-17 01:19:44 +01:00
Glenn Ruben Bakke
18f528eceb nrf5: Only enable hal_pwm.c if nrf52 target as nrf51 must have a sw implementation. 2016-12-17 01:16:38 +01:00
Glenn Ruben Bakke
3bf2ca05f1 nrf5/pwm: Adding pwm to modmachine.c 2016-12-17 01:14:50 +01:00
Glenn Ruben Bakke
abd945fde1 nrf5/hal: Updating PWM header file with init function prototype. Also added PWM_HandleTypeDef structure that can be used in the pwm python module. 2016-12-17 01:05:43 +01:00
Glenn Ruben Bakke
7bfe001d22 nrf5/pwm: Updating PWM dict table to have freq and duty function. Also added creation of default objects based on PWM name set in board config. Adding ifdef surrounding the import of hal_pwm.h as this module might be used by software implmentation of PWM later. 2016-12-17 01:03:39 +01:00
Glenn Ruben Bakke
a081bf2f91 nrf5/pwm: Removing include of hal_pwm.h as pwm.c might not use a hal, but sw implementation. 2016-12-17 00:39:24 +01:00
Glenn Ruben Bakke
eaece2734b nrf5: Updating makefile to compile in pwm.c and hal_pwm.c 2016-12-16 19:56:12 +01:00
Glenn Ruben Bakke
36a232182a nrf5/boards: Adding config flag for HAL_PWM in pca10040 and pca10056. 2016-12-16 19:56:00 +01:00
Glenn Ruben Bakke
930112753a nrf5: Adding pwm work in progress machine PWM module. 2016-12-16 19:55:32 +01:00
Glenn Ruben Bakke
82f7fe88b0 nrf5/hal: Starting implementation of PWM hal to be used by PWM python module later. 2016-12-16 19:17:42 +01:00
Scott Shawcroft
af17b64a58 atmel-samd: Add samd module for atmel-samd specific configuration.
Fixes #49
2016-12-13 18:04:50 -08:00
Scott Shawcroft
78a807cc26 atmel-samd: Commit QTouch library. Missed because .a files are usually ignored. 2016-12-13 16:11:19 -08:00
Scott Shawcroft
18c1210e87 atmel-samd: Remove debug output. 2016-12-13 16:10:42 -08:00
Scott Shawcroft
781633c716 Fix up Analog classes: unify them at 16 bits and adds reference_voltage member
to make for easy conversion. Fixes #14.
2016-12-13 16:09:00 -08:00
Glenn Ruben Bakke
90730787f3 nrf5: Adding initial board files for pca10056. The files are not complete (only 32 pins are added for now). UART REPL, leds, and Pins (up to 31) are functional. 2016-12-13 21:38:39 +01:00
Glenn Ruben Bakke
bc1aa84cac nrf5: Updating comment in linker script for nrf52832 and nrf52840 to distinguish between the two nrf52 variants. 2016-12-13 21:35:15 +01:00
Glenn Ruben Bakke
faa460ae88 nrf5: Adding new linker script for nrf52840. 2016-12-13 21:32:40 +01:00
Glenn Ruben Bakke
1a1f9b0c9d nrf5: updating flash size comment in nrf52832 linker script. 2016-12-13 21:31:39 +01:00
Glenn Ruben Bakke
4344d41b36 lib/netutils: Adding some basic parsing and formating of ipv6 address strings. Only working with full length ipv6 strings. Short forms not supported at the moment (for example FE80::1, needs to be expressed as FE80:0000:0000:0000:0000:0000:0000:0001). 2016-12-13 20:32:54 +01:00
Glenn Ruben Bakke
d7dc0b789d nrf5: Updating port with new content. SPI, SDcard (trough sdcard.py), Pin, and machine module. Also adding some basic modules depending on SDK and bluetooth stack from nordic semiconductor. NUS is module copied from original port by tralamazza, and new basic module for 6lowpan over BLE which can be used by modnetwork and modusocket. Basic BLE module to enable bluetooth stack and start a eddystone advertisment is kept, and still works without SDK, even if in the SDK folder (its placed there as it needs bluetooth stack from an SDK). 2016-12-13 20:27:26 +01:00
Glenn Ruben Bakke
227998f9cd Renaming softdevice folder to sdk. 2016-12-13 20:14:48 +01:00
Scott Shawcroft
9ad0da6134 esp8266: Fix pyexec calls. 2016-12-12 17:11:07 -08:00
Scott Shawcroft
52f8e1cbf3 atmel-samd: Use bootloader again on the Metro M0 2016-12-12 17:09:42 -08:00
Scott Shawcroft
3972bc19c7 atmel-samd: Basic capacitive touch button support.
Currently only works on a single channel and is only enabled for boards with
SPI flash. Only really designed for hardware testing at this point.
2016-12-12 15:11:25 -08:00
Scott Shawcroft
cd09726904 Fix pyexec_file calls. 2016-12-09 22:49:44 -08:00
Scott Shawcroft
b6f1eebab3 atmel-samd: Add APA102 support and flash more advanced status.
The new sequence is as follows:
* Solid blue during the boot/settings script.
* Solid green during the main/code script.
* After main while waiting to enter repl or reset:
  * Fading green once main is done successfully.
  * On error produce a series of flashes:
    * Long flash color of script.
    * Long flash color of error:
      * Green = IndentationError
      * Cyan = SyntaxError
      * White = NameError
      * Orange = OSError
      * Yellow = Other error
    * Line number of the exception by digit. Number of flashes represents value.
      * Thousands = White
      * Hundreds = Blue
      * Tens = Yellow
      * Ones = Cyan
    * Off for a period and then repeats.

At any point a write to the flash storage will flicker red.

Fixes #63
2016-12-09 19:35:56 -08:00
Scott Shawcroft
6225b89c76 atmel-samd: Stop dumping gc info on collect.
Fixes #27.
2016-12-07 17:51:10 -08:00
Scott Shawcroft
1b819c6816 atmel-samd: Enable enumerate() adds 184 bytes.
Fixes #32.
2016-12-07 17:18:12 -08:00
Scott Shawcroft
0ae344841f atmel-samd & esp8266: Make sure pins are not already in use.
This prevents corrupting previous functional objects by stealing their pins
out from under them. It prevents this by ensuring that pins are in default
state before claiming them. It also verifies pins are released correctly and
reset on soft reset.

Fixes #4, instantiating a second class will fail.
Fixes #29, pins are now reset too.
2016-12-07 15:21:14 -08:00
Scott Shawcroft
bb9c751b50 atmel-samd: Correct fake date for FAT. Hopefully it'll be in 2016 now. 2016-12-05 11:15:46 -08:00
Scott Shawcroft
0ba9aee428 atmel-samd: Update Trinket and Gemma boards for rev B. 2016-12-05 11:14:36 -08:00
Scott Shawcroft
26229efe78 Add try_lock and unlock to I2C and SPI classes to make sure things
are shared well between threads and underlying MicroPython (SPI Flash
for example.)

It is recommended to use the bus device classes to manage the locks
and other transaction state.

https://github.com/adafruit/Adafruit_MicroPython_BusDevice

Fixed #58
Fixed #59
Fixed #60
2016-12-02 15:46:12 -08:00
Scott Shawcroft
03f49f8209 atmel-samd: Slim down the pin struct to save ~1200 bytes. 2016-12-01 13:47:18 -08:00
Scott Shawcroft
f4a1da4be9 atmel-samd: Only include bitbangio on boards with flash. 2016-12-01 13:46:44 -08:00
Scott Shawcroft
8ef0dd095a Fix two bugs found by clang:
* PWMOut enter and exit weren't hooked up.
* end couldn't be negative in I2C.
2016-12-01 10:33:50 -08:00
Scott Shawcroft
915e1e5603 atmel-samd: Move the README text out of ROM to save space. We can still ship with it on flash. 2016-11-30 09:50:19 -08:00
Scott Shawcroft
3628a1ae48 atmel-samd: Fix FLASH_ROOT_POINTERS for internal flash builds. 2016-11-30 09:49:39 -08:00
Scott Shawcroft
9b3afc7b37 shared-bindings: Make MOSI and MISO optional for SPI. 2016-11-29 16:54:20 -08:00
Scott Shawcroft
4933fa1c27 shared-bindings: Ensure pin objects are actually pins.
Fixes #12
2016-11-29 15:50:01 -08:00
Scott Shawcroft
72455e441f atmel-samd: Use MICROPY_VM_HOOK_LOOP to make sure the mass storage handling code is called even in tight Python loops. Fixes #51 2016-11-29 14:58:37 -08:00
Scott Shawcroft
16764dfa31 shared-bindings: Fix blinky example. Fixes #55 2016-11-29 14:37:25 -08:00
Scott Shawcroft
ddfa7595b0 Slim down Arduino Zero build by turning off mass storage LEDs. 2016-11-29 14:32:04 -08:00
Scott Shawcroft
94bde17256 Update Ubuntu and GCC versions used in Travis build. Now uses GCC 5.4.1. Also, tweaks what builds are run. 2016-11-29 14:31:08 -08:00
Scott Shawcroft
2d9a0c76c5 atmel-samd: Switch to MICROPY_PORT_ROOT_POINTERS for the flash cache. 2016-11-29 14:29:33 -08:00
Scott Shawcroft
05c14dfe78 Revert "py: Add ability to manually mark blocks during collect."
This reverts commit 9321828158.
2016-11-29 14:11:32 -08:00
Scott Shawcroft
2042aad126 tools: Use a for loop to build all board variants. 2016-11-29 10:47:11 -08:00
Scott Shawcroft
888efa54e2 Only include uheap in debug builds. 2016-11-29 10:46:47 -08:00
Scott Shawcroft
d2aa05a9fe shared-bindings: Stop using negative length at all. Having uint and int mixed is confusing. 2016-11-28 19:57:05 -08:00
Scott Shawcroft
bda6ee9a14 shared-bindings: Stop using max and min because C doesn't define them. 2016-11-28 19:48:48 -08:00
Scott Shawcroft
55c8c91e07 atmel-samd: Hook in bitbangio 2016-11-28 19:48:17 -08:00
Scott Shawcroft
6292f937da esp8266: Make work with python 3 as default python impl. 2016-11-28 19:47:59 -08:00
Scott Shawcroft
77db3d450e Add links to two more libraries. 2016-11-28 19:24:16 -08:00
Scott Shawcroft
b8bf15de16 atmel-samd: Add Circuit Playground M0 board. Its experimental. 2016-11-28 19:21:40 -08:00
Scott Shawcroft
f8898d01ce py: fix python3 compatibility error 2016-11-28 19:20:51 -08:00
Scott Shawcroft
78f8565270 Add start and end kwargs to writeto and readfrom_into so a single buffer can be used to save memory. 2016-11-28 18:35:19 -08:00
Scott Shawcroft
a319ac2f4e uheap: Switch to using gc_nbytes to measure allcoation size so we stop undercounting. 2016-11-23 17:32:50 -08:00
Scott Shawcroft
a8fbad5d8b Add heap analysis scripts based on GDB breakpoint logs. 2016-11-23 17:31:53 -08:00
Scott Shawcroft
ea1320bee7 Add uheap for debugging the size of objects. Still not perfect though. 2016-11-22 17:32:28 -08:00
Scott Shawcroft
cc412a80ad atmel-samd: Support Trinket and Gemma M0 prototypes. 2016-11-22 12:03:42 -08:00
Scott Shawcroft
8d5c90b0d0 Add script to build bins for Adafruit boards. 2016-11-21 14:40:28 -08:00
Scott Shawcroft
575d2e7998 atmel-samd: Default to code.txt instead of main.py (main.py will still work on its own.) 2016-11-21 14:32:11 -08:00
Scott Shawcroft
3b1109c47b Merge pull request #50 from tannewt/microcontroller
Introduce shared APIs: nativeio, microcontroller and board modules. These are the only hardware API on the atmel-samd port.
2016-11-21 14:30:57 -08:00
Scott Shawcroft
ccbb5e84f9 This introduces an alternative hardware API called nativeio structured around different functions that are typically accelerated by native hardware. Its not meant to reflect the structure of the hardware.
Docs are here: http://tannewt-micropython.readthedocs.io/en/microcontroller/

It differs from upstream's machine in the following ways:

* Python API is identical across ports due to code structure. (Lives in shared-bindings)
* Focuses on abstracting common functionality (AnalogIn) and not representing structure (ADC).
* Documentation lives with code making it easy to ensure they match.
* Pin is split into references (board.D13 and microcontroller.pin.PA17) and functionality (DigitalInOut).
* All nativeio classes claim underlying hardware resources when inited on construction, support Context Managers (aka with statements) and have deinit methods which release the claimed hardware.
* All constructors take pin references rather than peripheral ids. Its up to the implementation to find hardware or throw and exception.
2016-11-21 14:11:52 -08:00
Scott Shawcroft
9321828158 py: Add ability to manually mark blocks during collect. 2016-11-21 14:11:49 -08:00
Scott Shawcroft
f03a9ac505 py: Add support for properties on native objects when they are in the locals dict. 2016-11-18 16:18:14 -08:00
Scott Shawcroft
ceeac4791e atmel-samd: Add Feather M0 with flash 2016-11-18 16:18:13 -08:00
Scott Shawcroft
fe9c28538c atmel-samd: Turn off using the red LED to show mass storage writes. 2016-11-18 16:18:13 -08:00
Scott Shawcroft
3cfa5b993d py: Change frozen build to not use -printf which isn't available on Mac OSX. 2016-11-18 16:18:12 -08:00
Scott Shawcroft
6e30b8ea92 atmel-samd: Move neopixel out of internal flash. 2016-11-18 16:17:56 -08:00
Scott Shawcroft
84edec4fad py: Fix typo in comment. 2016-11-18 16:17:56 -08:00
Glenn Ruben Bakke
ea75d9919f Removing unused 'NRF_SOFTDEVICE' compile variable from all board .mk softdevice targets. 2016-11-17 00:33:37 +01:00
Glenn Ruben Bakke
60686a3b75 Fixing main Makefile CFLAGS concatination error when setting softdevice param 2016-11-17 00:29:16 +01:00
Daniel Tralamazza
839d04f768 ignore default build folders 2016-11-16 23:40:38 +01:00
Daniel Tralamazza
3e31d31f3e move softdevice (SD) specific code from the main Makefile to their respective board/SD makefiles 2016-11-16 23:40:38 +01:00
Glenn Ruben Bakke
ae99d95c1a Updating Makefile by removing unwanted LDFLAG setting cpu to cortex-m0 in all cases. 2016-11-16 22:51:53 +01:00
Glenn Ruben Bakke
0ab5ef426b Updating modble.c method doc of address_print() to reflect the actual function name. 2016-11-16 21:45:34 +01:00
Glenn Ruben Bakke
70956ea969 Base support for nrf51 and nrf52 base without depending on SDK. SoftDevice usage optional. 2016-11-16 21:38:25 +01:00
Scott Shawcroft
bd36873362 Merge tag 'v1.8.6'
ESP8266 port uses SDK 2.0, has more heap, has support for 512k devices

This release brings some code size reductions to the core as well as
more tests and improved coverage which is now at 94.3%.

The time.ticks_diff(a, b) function has changed: the order of the arguments
has been swapped so that it behaves like "a - b", and it can now return a
negative number if "a" came before "b" (modulo the period of the ticks
functions).

For the ESP8266 port the Espressif SDK has been updated to 2.0.0, the
heap has been increased from 28k to 36k, and there is support for 512k
devices via "make 512k".  upip is included by default as frozen bytecode.
The network module now allows access-point reconnection without WiFi
credentials, and exposes configuration for the station DHCP hostname.  The
DS18B20 driver now handles negative temperatures, and NeoPixel and APA102
drivers handle 4 bytes-per-pixel LEDs.

For the CC3200 port there is now support for loading of precompiled .mpy
files and threading now works properly with interrupts.

A detailed list of changes follows.

py core:
- py.mk: automatically add frozen.c to source list if FROZEN_DIR is defined
- be more specific with MP_DECLARE_CONST_FUN_OBJ macros
- specialise builtin funcs to use separate type for fixed arg count
- {modbuiltins,obj}: use MP_PYTHON_PRINTER where possible
- modbuiltins: add builtin "slice", pointing to existing slice type
- add "delattr" builtin, conditional on MICROPY_CPYTHON_COMPAT
- sequence: fix reverse slicing of lists
- fix null pointer dereference in mpz.c, fix missing va_end in warning.c
- remove asserts that are always true in emitbc.c
- fix wrong assumption that m_renew will not move if shrinking
- change config default so m_malloc0 uses memset if GC not enabled
- add MICROPY_FLOAT_CONST macro for defining float constants
- move frozen bytecode Makefile rules from ports to common mk files
- strip leading dirs from frozen mpy files, so any path can be used

extmod:
- vfs_fat_file: check fatfs f_sync() and f_close() returns for errors
- vfs_fat_file: make file.close() a no-op if file already closed
- utime_mphal: ticks_diff(): switch arg order, return signed value
- utime_mphal: add MP_THREAD_GIL_EXIT/ENTER warppers for sleep functions
- utime_mphal: implement ticks_add(), add to all maintained ports
- utime_mphal: allow ticks functions period be configurable by a port

lib:
- utils/pyhelp.c: use mp_printf() instead of printf()
- utils/pyexec: add mp_hal_set_interrupt_char() prototype
- libm: move Thumb-specific sqrtf function to separate file

drivers:
- add "from micropython import const" when const is used

tools:
- upgrade upip to 1.1.4: fix error on unix when installing to non-existing
  absolute path
- pip-micropython: remove deprecated wrapper tool
- check_code_size.sh: code size validation script for CI
- replace upip tarball with just source file, to make its inclusion as
  frozen modules in multiple ports less magic

tests:
- extmod/vfs_fat: improve VFS test coverage
- basics/builtin_slice: add test for "slice" builtin name
- basics: add test for builtin "delattr"
- extmod/vfs_fat_fsusermount: improve fsusermount test coverage
- extmod/vfs_fat_oldproto: test old block device protocol
- basics/gc1: garbage collector threshold() coverage
- extmod/uhashlib_sha1: coverage for SHA1 algorithm
- extmod/uhashlib_sha256: rename sha256.py test
- btree1: fix out of memory error running on esp8266
- extmod/ticks_diff: test for new semantics of ticks_diff()
- extmod/framebuf1: test framebuffer pixel clear, and text function

minimal port:
- Makefile: split rule for firmware.bin generation

unix port:
- Makefile: remove references to deprecated pip-micropython
- modtime: use ticks_diff() implementation from extmod/utime_mphal.c
- mphalport.h: add warning of mp_hal_delay_ms() implementation
- modtime: switch ticks/sleep_ms/us() to utime_mphal
- fix symbol references for x86 Mac
- replace upip tarball with just source file

windows port:
- enable utime_mphal following unix, define mp_hal_ticks_*
- fix utime_mphal compilation for msvc
- implement mp_hal_ticks_cpu in terms of QueryPerformanceCounter

qemu-arm port:
- exclude ticks_diff test for qemu-arm port
- exclude extmod/vfs_fat_fileio.py test
- exclude new vfs_fat tests
- enable software floating point support, and float tests

stmhal port:
- modutime: refactor to use extmod's version of ticks_cpu
- refactor pin usage to use mp_hal_pin API
- led: refactor LED to use mp_hal_pin_output() init function
- Makefile: use standard rules for frozen module generation
- modutime: consistently convert to MP_ROM_QSTR/MP_ROM_PTR
- enable SD power save (disable CLK on idle)

cc3200 port:
- use mp_raise_XXX helper functions to reduce code size
- mods/pybspi: allow "write" arg of read/readinto to be positional
- enable loading of precompiled .mpy files
- fix thread mutex's so threading works with interrupts

teensy port:
- update to provide new mp_hal_pin_XXX functions following stmhal

esp8266 port:
- Makefile: use latest esptool.py flash size auto-detection
- esp_init_data: auto-initialize system params with vendor SDK 2.0.0
- esp8266.ld: move help.o to iROM
- esp8266.ld: move modmachine.o to iROM
- esp8266.ld: move main.o to iROM
- add MP_FASTCODE modifier to put a function to iRAM
- main: mark nlr_jump_fail() as MP_FASTCODE
- modules/webrepl: enforce only one concurrent WebREPL connection
- etshal.h: add few more ESP8266 vendor lib prototypes
- modesp: add flash_user_start() function
- add support for building firmware version for 512K modules
- scripts: make neopixel/apa102 handle 4bpp LEDs with common code
- modutime: consistently convert to MP_ROM_QSTR/MP_ROM_PTR
- modnetwork: config(): fix copy-paste error in setting "mac"
- scripts/port_diag: add descriptions for esf_buf types
- modnetwork.c: allows AP reconnection without WiFi credentials
- main: bump heap size to 36K
- etshal.h: add prototypes for SPIRead/SPIWrite/SPIEraseSector
- etshal.h: adjust size of MD5_CTX structure
- modules: fix negative temperature in ds18x20 driver
- rename "machine" module implementation to use contemporary naming
- rework webrepl_setup to run over wired REPL
- espneopixel.c: solve glitching LED issues with cpu at 80MHz
- include upip as a standard frozen bytecode module
- update docs for esptool 1.2.1/SDK 2.0 (--flash_size=detect)
- modnetwork.c: expose configuration for station DHCP hostname

zephyr port:
- implement utime module
- use board/SoC values for startup banner based on Zephyr config
- initial implementation of machine.Pin
- zephyr_getchar: update for recent Zephyr refactor of console hooks
- support time -> utime module "weaklink"
- README: update for the current featureset, add more info
- mpconfigport.h: move less important params to the bottom
- Makefile: allow to adjust heap size from make command line
- Makefile: update comments to the current state of affairs
- Makefile: allow to override Zephyr config from make command line
- Makefile: add minimal port
- Makefile: add -fomit-frame-pointer to reduce code size
- mphalport.h: update for new "unified" kernal API (sleep functions)

docs:
- machine.SPI: bring up to date with Hardware API, make vendor-neutral
- machine.SPI: improve descriptions of xfer methods
- library/builtins: add docs for delattr and slice
- library/network: reword intro paragraph
- library/network: typo fixes, consistent acronym capitalization
- library/index: update TOCs so builtins sorted before modules
- utime: document ticks_cpu() in more detail
- utime: describe new semantics of ticks_diff() (signed ring arithmetics)
- utime: add docs for ticks_add(), improvements for other ticks_*()
- esp8266: update for new WebREPL setup procedure
- */quickref.rst: use new semantics of ticks_diff()
- library/machine.Pin: update Pin docs to align with new HW API

travis:
- integrate tools/check_code_size.sh
- minimal: Use CROSS=1, for binary size check

examples:
- http_server_simplistic: add "not suitable for real use" note
- hwapi: example showing best practices for HW API usage in apps
- hwapi: add hwconfig for DragonBoard 410c
2016-11-14 11:10:07 -08:00
Scott Shawcroft
722777c2a9 Attribute docs copyright to all contributors equally and link to github for full list. 2016-11-08 10:25:38 -08:00
Scott Shawcroft
acc4fe4d7d atmel-samd: Stop relying on an external crystal. 2016-11-07 12:37:38 -08:00
Daniel Tralamazza
4f7b5eab7f remove dup declaration mp_builtin_open_obj 2016-11-03 18:42:54 +01:00
Scott Shawcroft
23112a6434 atmel-samd: Merge init into the constructor and check all available
SERCOMs during initialization.

Fixes #16. It was broken because the MISO pin used the second SERCOM.
2016-11-01 17:30:01 -07:00
Scott Shawcroft
674f3d46e8 atmel-samd: Reset all SERCOMs except the SPI flash one if used. #29 2016-11-01 11:03:12 -07:00
Daniel Tralamazza
28769f2609 init 2016-11-01 00:42:22 +01:00
Scott Shawcroft
19e5f1fef2 atmel-samd: Break out of delays with CTRL-C.
This means you can CTRL from within time.sleep() and that autoreset
will work from within a long sleep too. Fixes #45.
2016-10-31 11:31:52 -07:00
Scott Shawcroft
f42b41e1e9 atmel-samd: Increase autoreset delay to reduce duplicate resets. 2016-10-31 11:31:33 -07:00
Scott Shawcroft
7a24abb27c lib/utils/pyexec: Return FORCED_EXIT from pyexec_file when its stopped by CTRL - C. 2016-10-28 20:19:30 -07:00
Scott Shawcroft
5b3a143ffe atmel-samd: Rework tick timer to use TC5 and support neopixel status LED.
The tick timer needed to be reworked because the ASF delay functions also
use the SysTick timer. Now, it uses TC5 and calls out to the autoreset
logic every tick. Fixes #43.

Added neopixel status colors and corrected the latch time from ms to us.
Fixes #42.
2016-10-28 20:16:39 -07:00
Scott Shawcroft
9008b93962 atmel-samd: Fix typo in ASF. 2016-10-28 20:12:24 -07:00
Scott Shawcroft
fc78f6950f atmel-samd: Add D13 as flash write indicator on Arduino Zero. 2016-10-27 17:49:52 -07:00
Scott Shawcroft
86a1d1db30 atmel-samd: Fix autoreset when no repl is present and keep running mss storage code during a sleep. 2016-10-27 17:48:42 -07:00
Scott Shawcroft
3a9cb1ac49 atmel-samd: Fix Arduino SPI pin. Datasheet net name is wrong. :-( 2016-10-26 20:16:53 -07:00
Scott Shawcroft
85e4d3572d atmel-samd: Add named pins for Arduino Zero SPI. Fixes #11. 2016-10-26 18:02:34 -07:00
Scott Shawcroft
2098515f6a atmel-samd: Rework pin definitions to share most of the data structures and included based on ASF defines. 2016-10-26 17:57:47 -07:00
Scott Shawcroft
73848f4cd0 atmel-samd: Stop aliasing os to uos and time to utime. They expose different APIs. Fixes #23. 2016-10-26 13:33:50 -07:00
Scott Shawcroft
34fa81eaf3 atmel-samd: Hook in DTR for more ports and make the serial TX more resiliant to long strings. 2016-10-26 13:32:41 -07:00
Scott Shawcroft
04284a9fe3 Merge pull request #38 from tannewt/autoreset
atmel-samd: Support auto-reset based on USB write activity.
2016-10-26 11:12:55 -07:00
Scott Shawcroft
d189a3f3cf atmel-samd: Support auto-reset based on USB write activity.
It will soft-reboot micropython after a burst of writes to the
file system. This means that after you save files on your computer
they will be automatically rerun.

This can be disabled in the build by unsetting AUTORESET_TIMER in
mpconfigboard.h.

Using the REPL will also prevent the soft resets until you reset
with CTRL-D manually.
2016-10-25 18:36:37 -07:00
Scott Shawcroft
614c1fdba2 atmel-samd: Only output to USB after DTR and don't send anything larger than the room left in the USB TX buffer. 2016-10-25 18:29:04 -07:00
Scott Shawcroft
b7768a74a7 atmel-samd: Fix file system init.
Adding the USB write protection prevented file system reset from
working. Since it happens before USB start we temporarily set the
volume to writeable and then set it back to read-only before USB is
started.
2016-10-25 15:13:43 -07:00
Scott Shawcroft
d05299f57a atmel-samd: Add D13 led as mass storage write indicator. 2016-10-25 15:06:05 -07:00
Scott Shawcroft
3a5aad516a atmel-samd: Remove unused header. 2016-10-25 15:04:20 -07:00
Scott Shawcroft
fff96a0ce6 atmel-samd: Fix include guard. 2016-10-25 15:03:22 -07:00
Scott Shawcroft
16584dfee6 atmel-samd: Fix the Feather builds by switching to the VFS mass storage implementation. 2016-10-24 12:42:09 -07:00
Scott Shawcroft
82526b803c Add Travis CI badge. 2016-10-24 12:33:59 -07:00
Scott Shawcroft
58f37fc013 Build mpy-cross first because other builds depend on it. 2016-10-24 12:12:22 -07:00
Scott Shawcroft
710bf34fbd Add atmel-samd boards to travis build. 2016-10-24 11:59:50 -07:00
Scott Shawcroft
f5ca66805b atmel-samd: Tweak DAC logic for clarity. Thanks @bcr for the suggestion. 2016-10-21 17:08:14 -07:00
Scott Shawcroft
30dc24191f Merge pull request #31 from tannewt/external_flash
Add support for external flash chips and improve mass storage.
2016-10-21 16:38:57 -07:00
Scott Shawcroft
b2834c30a6 atmel-samd: Support reading from the flash cache. 2016-10-21 16:04:18 -07:00
Scott Shawcroft
98c8f2f6a3 atmel-samd: Update the FatFs sector cache on USB mass storage write
to the same sector.

This fixes #20, the issue where a listdir or import won't work
without a reset when it was run before the file was copied.
2016-10-21 15:44:10 -07:00
Scott Shawcroft
b8ef783052 extmod: Fix getting sector size when the max and min sizes are the
same.

Also switch the max size back to 512 for atmel-samd to save ram.
2016-10-21 15:44:10 -07:00
Scott Shawcroft
9eb86e8015 Add support for USB writeable, MicroPython read-only volumes.
This prevents file system corruption due to two systems mutating
it at once.
2016-10-21 15:44:09 -07:00
Scott Shawcroft
eb62d03e33 atmel-samd: Add flash write activity LED. 2016-10-21 15:44:09 -07:00
Scott Shawcroft
8b1526e95e atmel-samd: Add a heap based cache for writing to flash.
The code will fallback to the flash scratch space when the GC
cannot allocate us enough memory.
2016-10-21 15:44:09 -07:00
Scott Shawcroft
bb1822faea atmel-samd: Support external flash on the Metro M0 w/Flash.
This uses a scratch flash sector to save data before writing a full sector.
2016-10-21 15:44:09 -07:00
Scott Shawcroft
46f6f9f899 atmel-samd: Start USB at the end so storage is initialized. 2016-10-21 15:44:09 -07:00
Scott Shawcroft
aacb1adcd1 atmel-samd: Add linker file for bootloaderless board with external flash. 2016-10-21 15:44:08 -07:00
Scott Shawcroft
853e5fc652 atmel-samd: Ensure at least 2k is left for the stack. 2016-10-21 15:43:24 -07:00
Scott Shawcroft
306c921ed1 atmel-samd: Rework mass storage interaction with underlying block
storage to use micropython's VFS interface.

This makes mass storage work with any VFS implementation rather
than a single one.
2016-10-21 15:36:59 -07:00
Scott Shawcroft
6fe8c7b32c Merge pull request #26 from adafruit/ssd1306_hardware_i2c
Support SSD1306 with hardware I2C interface. Closes #15
2016-10-20 16:17:02 -07:00
Tony DiCola
a23cc5aa14 drivers: Remove SSD1306 driver, it lives in separate micropython-adafruit-ssd1306 repo now. 2016-10-20 23:13:22 +00:00
Tony DiCola
f539312af3 atmel-samd: Enable framebuffer for SSD1306 and other displays. 2016-10-20 23:10:28 +00:00
Tony DiCola
00a44fa36c Merge remote-tracking branch 'micropython/master'
Conflicts:
	README.md - Kept Adafruit README.md intact.
	py/emitglue.c - Added xtensa architecture as an OR of the define.
	zephyr/README.md - Fixed spelling mistake.
2016-10-20 23:01:13 +00:00
Scott Shawcroft
1f13f870b8 Merge pull request #25 from adafruit/drivers-more
Update drivers.rst
2016-10-20 10:16:59 -07:00
Radomir Dopieralski
0901c145ba Update drivers.rst 2016-10-20 18:58:46 +02:00
Scott Shawcroft
2cc1b25eef Merge pull request #24 from adafruit/urandom
atmel-samd: Enable full urandom module from extmod. Closes #17.
2016-10-20 09:20:18 -07:00
Tony DiCola
5333f5f987 atmel-samd: Enable full urandom module from extmod. 2016-10-20 06:41:21 +00:00
Scott Shawcroft
0cb0bd0f25 atmel-samd: More updates to the docs including the in-code docs. 2016-10-19 16:49:35 -07:00
Scott Shawcroft
7ebc9a4511 Switch away from sphinx.parsers which isn't available in sphinx 1.3.5 on Read The Docs. 2016-10-19 10:53:37 -07:00
Scott Shawcroft
4c9fcd6d21 Support markdown. 2016-10-19 10:53:37 -07:00
Scott Shawcroft
d28b456b31 Add title to contributing doc. 2016-10-19 10:53:37 -07:00
Scott Shawcroft
6fcb54d2ca Merge pull request #18 from turbinenreiter/master
Add Adalogger board definition in preparation of adding SD card support.
2016-10-19 09:23:44 -07:00
Sebastian Plamauer
9b1170a65d [atmel-samd] add adalogger board definitions 2016-10-19 10:02:01 +02:00
Scott Shawcroft
46e7f8e4fb Documentation rework to unify the docs together rather than having them
on a per port basis.

Also enables generating docs from inline RST in C code. Simply omits all
lines except those that start with //|. Indentation after "//| " will be
preserved.
2016-10-18 17:42:47 -07:00
Scott Shawcroft
cb99ae5032 atmel-samd: Rename Feather M0 Bluefruit files to Feather M0 Basic because there isn't anything Bluefruit specific yet. 2016-10-14 13:10:17 -07:00
Scott Shawcroft
343ff4faed atmel-samd: Make the Arduino Zero build use a bootloader. 2016-10-14 13:10:16 -07:00
Scott Shawcroft
c69ea1a143 py/makeversionhdr.py: Use any tag to describe the version. 2016-10-14 13:10:16 -07:00
Scott Shawcroft
8677f957fb lib/utils: Clarify this is Adafruit's MicroPython derivative and help() isn't available yet. 2016-10-14 13:10:16 -07:00
Scott Shawcroft
005b4505f5 Rework the READMEs to clarify that this is a MicroPython derivative and
not MicroPython proper.
2016-10-14 12:25:55 -07:00
Scott Shawcroft
0584ba1218 Merge pull request #10 from adafruit/frozen_modules
atmel-samd: Add modules directory with frozen bytecode support (like ESP8266 port), and NeoPixel python wrapper module.
2016-10-14 10:16:16 -07:00
Tony DiCola
fffc6d1a17 atmel-samd: Add modules directory with frozen bytecode support (like ESP8266 port), and NeoPixel python wrapper module. 2016-10-14 11:39:42 +00:00
Scott Shawcroft
674038c281 Correct code of conduct link. 2016-10-13 14:11:53 -07:00
Scott Shawcroft
8d9da429c2 Add code of conduct so that expectations on contributor behavior are
clearly laid out and a process for reporting violations is in place.
2016-10-13 14:09:39 -07:00
Scott Shawcroft
d451f690ef Merge pull request #9 from adafruit/ticks_ms
Support ticks in os.
2016-10-13 12:22:31 -07:00
Tony DiCola
2ee52c4fde atmel-samd: Minor fixes to SysTick handler, enable all interrupts function. 2016-10-13 18:36:00 +00:00
Tony DiCola
f77113c04f atmel-samd: Add time.ticks_diff function from esp port. 2016-10-13 05:18:18 +00:00
Tony DiCola
903bc8d04e atmel-samd: Implement time.ticks_ms function using SysTick timer, add global interrupt enable/disable functions. 2016-10-13 04:59:43 +00:00
Scott Shawcroft
011056af15 atmel-samd: Add support for SPI.
Also separate out the ASF config headers that are shared across all boards.
2016-10-11 15:48:43 -07:00
Scott Shawcroft
6986aa9aa2 atmel-samd: Change the FAT label so the board shows up as MICROPYTHON. 2016-10-10 12:17:11 -07:00
Scott Shawcroft
14f25337e7 atmel-samd: Fix FAT by giving the option of 4k sectors.
This causes the FATFS struct to have the ssize member because
sector size can be anywhere between 512 bytes and 4k bytes.
2016-10-10 12:16:02 -07:00
Scott Shawcroft
a52fd670e6 Merge remote-tracking branch 'micropython/master' 2016-10-10 11:42:59 -07:00
Paul Sokolovsky
89bfbfdeee zephyr: Add README. 2016-10-10 21:21:45 +03:00
Scott Shawcroft
a6254f4344 atmel-samd: Add basic support for experimental Metro M0 with an external flash chip. 2016-10-07 15:09:01 -07:00
Scott Shawcroft
5d6c4109e9 atmel-samd: Change USB Manufacturer from Adafruit to Adafruit Industries. 2016-10-07 15:06:42 -07:00
Scott Shawcroft
284d3414e1 atmel-samd: Make UART REPL Arduino Zero specific. Most will use USB REPL. 2016-10-07 15:06:07 -07:00
Scott Shawcroft
67372b369e atmel-samd: Fix A1 and A2 analog inputs.
Fixes #3.
2016-10-07 15:01:26 -07:00
Scott Shawcroft
afedba5c2f atmel-samd: Support with statements for I2C class.
Also add init/deinit if you want to init/deinit manually.
2016-10-05 18:44:55 -07:00
Scott Shawcroft
42f6ba04a2 atmel-samd: Update the Micro Trace Buffer to have better defines.
Same as README.md here: https://github.com/adafruit/gdb-micro-trace-buffer
2016-10-05 18:42:02 -07:00
Scott Shawcroft
90bf13efd5 atmel-samd: Correct USB PIDs.
Arduino and Adafruit convention is for user programs to have PIDs
starting with 8 and bootloaders starting with 0.
2016-10-05 12:55:48 -07:00
Tony DiCola
9c67605233 atmel-samd: Add low level neopixel_write module & function for WS281x/neopixel RGB LEDs. 2016-10-05 12:35:23 -07:00
Scott Shawcroft
7e08347d5c atmel-samd: Support composite CDC and mass storage USB device.
Be careful to not use the flash file system while using mass storage
because both pieces of code attempting to change the fs can corrupt it.
2016-10-05 11:07:29 -07:00
Scott Shawcroft
1fa4c20c27 atmel-samd: Add Micro Trace Buffer support to the debug build.
The Micro Trace Buffer records the history of the pc and can be used
to debug hard faults even when the stack trace is useless.
2016-10-04 16:13:33 -07:00
Scott Shawcroft
98458c56cc atmel-samd: Remove debug flashes and comments. 2016-10-04 16:01:14 -07:00
Scott Shawcroft
0a10d17c28 atmel-samd: Update bossac_osx with one that works.
Add info to the README on how to get into bootloader on feathers. Fixes #6.
2016-10-03 12:57:06 -04:00
Scott Shawcroft
ed34c35509 atmel-samd21: Support loading mpy files. 2016-09-26 15:43:52 -07:00
Scott Shawcroft
b1be9f50ab atmel-samd: Remove module name from struct. 2016-09-26 15:02:16 -07:00
Scott Shawcroft
12b6b786fd Merge remote-tracking branch 'micropython/master' 2016-09-26 14:34:26 -07:00
Scott Shawcroft
eda33385e6 atmel-samd: Correct the stack_top pointer used in garbage collection.
Without this fix the gc will consider a large, random section of memory
and it may never finish.
2016-09-22 18:24:06 -07:00
Scott Shawcroft
ffdc3f81df atmel-samd: Note a potential REPL ram savings. 2016-09-22 18:23:27 -07:00
Scott Shawcroft
bbeed82378 atmel-samd: Run boot.py and main.py at startup and soft reboot. 2016-09-22 13:56:26 -07:00
Scott Shawcroft
e56948650f atmel-samd: Enable mem_info display. 2016-09-22 13:16:13 -07:00
Scott Shawcroft
0e1fd9a12c atmel-samd: Support ampy get and fix USB dropping characters.
Fixes #2.
2016-09-21 15:13:37 -07:00
Scott Shawcroft
33b796ed3a extmod: Fix typo. 2016-09-20 15:17:31 -07:00
Scott Shawcroft
dbbb2a5ca4 atmel-samd: Turn off normal errors but turn on source code line reporting. 2016-09-20 15:16:52 -07:00
Scott Shawcroft
005122e581 atmel-samd: Remove path specific to me. 2016-09-20 15:16:12 -07:00
Scott Shawcroft
0cae6b8e68 atmel-samd: Support const(). 2016-09-19 17:30:28 -07:00
Scott Shawcroft
0f4f4c7544 atmel-samd: Add sys, fix import and increase the size of the heap. 2016-09-19 16:56:42 -07:00
Scott Shawcroft
bb03afdb77 Merge remote-tracking branch 'micropython/master' 2016-09-19 13:32:29 -07:00
Scott Shawcroft
345dd1484c py: Support escaped special characters in autogenerated QSTRs. 2016-09-19 13:00:44 -07:00
Scott Shawcroft
7fd84e93f4 atmel-samd: Support raw repl and soft reset to support ampy.
Closes #1. Also adds TX and RX led support on the Arduino Zero.
2016-09-15 17:01:19 -07:00
Scott Shawcroft
7d8929c470 atmel-samd: Add I2C support.
This commit also introduces a new shared-bindings directory which is used to store the common Python -> C binding code. By having a shared directory we can ensure that the Python API across ports is the same. Each port will have a corresponding common-hal directory which provides definitions for the C api used in the shared-bindings code. That way the compiler can enforce the C api.

To migrate to this new shared API create a common-hal directory within your port and change the Makefile to compile both the shared-bindings and common-hal files. See atmel-samd/Makefile SRC_BINDINGS for an example.
2016-09-13 11:46:22 -07:00
Scott Shawcroft
05368d2c58 Include the precompiled math library from ASF. 2016-09-07 14:35:40 -07:00
Scott Shawcroft
c6c977070e Merge remote-tracking branch 'micropython/master' 2016-09-02 19:39:50 -07:00
Scott Shawcroft
09be96a6aa atmel/samd: Add filesystem support. 64k is stored in flash. 2016-09-02 17:00:30 -07:00
Scott Shawcroft
559434afca atmel-samd: Support floats. 2016-08-31 13:37:43 -07:00
ladyada
594ff413f4 trifecta tools 2016-08-31 13:38:13 -04:00
Scott Shawcroft
1725710feb atmel-samd: Rename the Feather M0 BLE to Feather M0 Bluefruit LE. 2016-08-31 09:56:06 -07:00
Scott Shawcroft
a6bc701917 atmel-samd: Re-enable -Os (size) optimizations. 2016-08-31 00:16:39 -07:00
Scott Shawcroft
eff137a5f5 atmel/samd: Support CTRL-C on USB. This won't escape native code but it will cause Python code to stop. 2016-08-31 00:11:56 -07:00
Scott Shawcroft
ccb309bd5c atmel/samd: Add basic PWM support which only allows for changing the duty. 2016-08-30 13:10:52 -07:00
Scott Shawcroft
b883a15d82 atmel-samd: Rename module classes so they don't conflict with names from ASF. 2016-08-28 00:02:05 -07:00
Scott Shawcroft
16fc045509 atmel-samd: Add direct write access to the DAC output. 2016-08-27 15:04:34 -07:00
Scott Shawcroft
259ae8a39d atmel-samd: Initial ADC support. 2016-08-26 17:01:38 -07:00
Scott Shawcroft
3cb4938c63 atmel-samd: Support Digital IO pins.
Also bumps up the heap size.
2016-08-24 17:38:08 -07:00
Scott Shawcroft
dade18bddf CODECONVENTIONS.md: Fix typos. 2016-08-24 13:19:25 -07:00
Scott Shawcroft
258804ab16 atmel-samd: Add limited time module support. 2016-08-24 13:17:55 -07:00
Scott Shawcroft
0c4f9b878a Enable REPL over USB.
All of the code was there except the linker was failing to clear the bss section because I added too many .zeros. The should have only been the exported globals that start with _ like _szero = .. Fixing that and turn on the usb transmit fixed everything.
2016-08-24 00:14:11 -07:00
Scott Shawcroft
386ab580cd Change the board information used in the header to be board specific. 2016-08-23 17:36:29 -07:00
Scott Shawcroft
dea22b0b5d Merge remote-tracking branch 'micropython/master' 2016-08-23 16:51:47 -07:00
Scott Shawcroft
9485634d41 Add support for REPL on Arduino Zero through EDBG via UART. 2016-08-23 16:47:53 -07:00
Scott Shawcroft
8f26d181c3 Blinking the LED works. Clocks should be set up correctly.
Everything works fine without USB being plugged in but faults (I think) when USB is plugged in. This is switched away from the USB code from the bootloader onto the USB code thats generated by Atmel Studio using the high level classes from ASF.
2016-08-22 23:53:11 -07:00
Scott Shawcroft
a5f6cb3c57 Compiled and linked SAMD21x18 version successfully. 2016-08-22 23:53:10 -07:00
8395 changed files with 489779 additions and 645766 deletions

View file

@ -1,68 +0,0 @@
# all: Prune trailing whitespace.
dda9b9c6da5d3c31fa8769e581a753e95a270803
# all: Remove the "STATIC" macro and just use "static" instead.
decf8e6a8bb940d5829ca3296790631fcece7b21
# renesas-ra: Fix spelling mistakes found by codespell.
b3f2f18f927fa2fad10daf63d8c391331f5edf58
# all: Update Python formatting to ruff-format.
bbd8760bd9a2302e5abee29db279102bb11d7732
# all: Fix various spelling mistakes found by codespell 2.2.6.
cf490a70917a1b2d38ba9b58e763e0837d0f7ca7
# all: Fix spelling mistakes based on codespell check.
b1229efbd1509654dec6053865ab828d769e29db
# top: Update Python formatting to black "2023 stable style".
8b2748269244304854b3462cb8902952b4dcb892
# all: Reformat remaining C code that doesn't have a space after a comma.
5b700b0af90591d6b1a2c087bb8de6b7f1bfdd2d
# ports: Reformat more C and Python source code.
5c32111fa0e31e451b0f1666bdf926be2fdfd82c
# all: Update Python formatting to latest Black version 22.1.0.
ab2923dfa1174dc177f0a90cb00a7e4ff87958d2
# all: Update Python formatting to latest Black version 21.12b0.
3770fab33449a5dadf8eb06edfae0767e75320a6
# tools/gen-cpydiff.py: Fix formatting of doc strings for new Black.
0f78c36c5aa458a954eed39a46942209107a553e
# tests/run-tests.py: Reformat with Black.
2a38d7103672580882fb621a5b76e8d26805d593
# all: Update Python code to conform to latest black formatting.
06659077a81b85882254cf0953c33b27614e018e
# tools/uncrustify: Enable more opts to remove space between func and '('.
77ed6f69ac35c1663a5633a8ee1d8a2446542204
# tools/codeformat.py: Include extmod/{btstack,nimble} in code formatting.
026fda605e03113d6e753290d65fed774418bc53
# all: Format code to add space after C++-style comment start.
84fa3312cfa7d2237d4b56952f2cd6e3591210c4
# tests: Format all Python code with black, except tests in basics subdir.
3dc324d3f1312e40d3a8ed87e7244966bb756f26
# all: Remove spaces inside and around parenthesis.
1a3e386c67e03a79eb768cb6e9f6777e002d6660
# all: Remove spaces between nested paren and inside function arg paren.
feb25775851ba0c04b8d1013716f442258879d9c
# all: Reformat C and Python source code with tools/codeformat.py.
69661f3343bedf86e514337cff63d96cc42f8859
# stm32/usbdev: Convert files to unix line endings.
abde0fa2267f9062b28c3c015d7662a550125cc6
# all: Remove trailing spaces, per coding conventions.
761e4c7ff62896c7d8f8c3dfc3cc98a4cc4f2f6f

10
.gitattributes vendored
View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
# Per default everything gets normalized and gets LF line endings on checkout.
* text eol=lf
@ -8,12 +12,14 @@
# These are binary so should never be modified by git.
*.a binary
*.ico binary
*.png binary
*.jpg binary
*.dxf binary
*.mpy binary
*.der binary
*.deb binary
*.zip binary
*.pdf binary
*.wav binary
# These should also not be modified by git.
tests/basics/string_cr_conversion.py -text

1
.github/FUNDING.yml vendored
View file

@ -1 +0,0 @@
github: micropython

54
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View file

@ -0,0 +1,54 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'bug'
assignees: ''
---
<!-- Thanks! for testing out CircuitPython. Now that you have got a problem...
you can file a bug report for it. Feel free to modify the below format to better
suit your issue. :) -->
**Firmware**
<!-- Include the version of CircuitPython you're running. You can see it in the
`boot_out.txt` file, as well as in the REPL. -->
```python
Adafruit CircuitPython 6.2.0-beta.2 on 2021-03-01; Raspberry Pi Pico with rp2040
```
**Code/REPL**
<!-- Include your code that reproduces the bug here. Try to distill down to the
minimum possible to reproduce. -->
```python
import busio, bitbangio
i2c = bitbangio.I2C(board.GP1, board.GP0)
```
**Behavior**
<!-- What happens when you run the code above? Include any error messages. -->
```python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TimeoutError: Clock stretch too long
```
**Description**
<!-- Optionally, describe the issue in more detail. Here are some examples: -->
- Error while using i2c...
- Only happens when...
- might be related to #4291...
**Additional Info**
<!-- Optionally, add any other information like hardware connection, scope output etc.
If you have already done some debugging, mention it here. -->

View file

@ -1,109 +0,0 @@
name: Bug report
description: Report a bug or unexpected behaviour
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Please provide as much detail as you can, it really helps us find and fix bugs faster.
#### Not a bug report?
* If you have a question \"How Do I ...?\", please post it on [GitHub Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead of here.
* For missing or incorrect documentation, or feature requests, then please [choose a different issue type](https://github.com/micropython/micropython/issues/new/choose).
#### Existing issue?
* Please search for [existing issues](https://github.com/micropython/micropython/issues) matching this bug before reporting.
- type: input
id: port-board-hw
attributes:
label: Port, board and/or hardware
description: |
Which MicroPython port(s) and board(s) are you using?
placeholder: |
esp32 port, ESP32-Fantastic board.
validations:
required: true
- type: textarea
id: version
attributes:
label: MicroPython version
description: |
To find the version:
1. Open a serial REPL.
2. Type Ctrl-B to see the startup message.
3. Copy-paste that output here.
If the issue is about building MicroPython, please provide output of `git describe --dirty` and as much information as possible about the build environment.
If the version or configuration is modified from the official MicroPython releases or the master branch, please tell us the details of this as well.
placeholder: |
MicroPython v6.28.3 on 2029-01-23; PyBoard 9 with STM32F9
validations:
required: true
- type: textarea
id: steps-reproduce
attributes:
label: Reproduction
description: |
What steps will reproduce the problem? Please include all details that could be relevant about the environment, configuration, etc.
If there is Python code to reproduce this issue then please either:
a. Type it into a code block below ([code block guide](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)), or
b. Post longer code to a [GitHub gist](https://gist.github.com/), or
c. Create a sample project on GitHub.
For build issues, please provide the exact build commands that you ran.
placeholder: |
1. Copy paste the code provided below into a new file
2. Use `mpremote run` to execute it on the board.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behaviour
description: |
What did you expect MicroPython to do? If comparing output with CPython or a different MicroPython port/version then please provide that output here.
placeholder: |
Expected to print "Hello World".
Here is the correct output, seen with previous MicroPython version v3.14.159:
> [...]
- type: textarea
id: what-happened
attributes:
label: Observed behaviour
description: |
What actually happened? Where possible please paste exact output, or the complete build log, etc. Very long output can be linked in a [GitHub gist](https://gist.github.com/).
placeholder: |
This unexpected exception appears:
> [...]
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional Information
description: |
Is there anything else that might help to resolve this issue?
value: No, I've provided everything above.
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to help improve MicroPython.

View file

@ -1,11 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: MicroPython GitHub Discussions
url: https://github.com/orgs/micropython/discussions
about: Community discussion about all things MicroPython. This is the best place to start if you have questions about using MicroPython or getting started with MicroPython development.
- name: MicroPython Documentation
url: https://docs.micropython.org/
about: Documentation for using and working with MicroPython and libraries.
- name: MicroPython Downloads
url: https://micropython.org/download/
about: Pre-built firmware and information for most supported boards.
- name: Adafruit Forum
url: https://forums.adafruit.com/
about: Official Adafruit technical support forum. Good for getting help on getting a project working.
- name: Adafruit Discord
url: https://adafru.it/discord
about: Unofficial chat with many helpful folks and normally prompt replies.

View file

@ -1,46 +0,0 @@
name: Documentation issue
description: Report areas of the documentation or examples that need improvement
title: "docs: "
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
This form is for reporting issues with the documentation or examples provided with MicroPython.
If you have a general question \"How Do I ...?\", please post it on [GitHub Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead of here.
#### Existing issue?
* Please search for [existing issues](https://github.com/micropython/micropython/issues) before reporting a new one.
- type: input
id: page
attributes:
label: Documentation URL
description: |
Does this issue relate to a particular page in the [online documentation](https://docs.micropython.org/en/latest/)? If yes, please paste the URL of the page:
placeholder: |
https://docs.micropython.org/en/latest/
- type: textarea
id: version
attributes:
label: Description
description: |
Please describe what was missing from the documentation and/or what was incorrect/incomplete.
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to help improve MicroPython.

View file

@ -0,0 +1,11 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'enhancement'
assignees: ''
---
<!-- We are always adding new features and enhancements to CircuitPython 🚀
and would love ❤ to see what new challenge you have got for us... 🙂 -->

View file

@ -1,74 +0,0 @@
name: Feature request
description: Request a feature or improvement
labels: ['enhancement']
body:
- type: markdown
attributes:
value: |
This form is for requesting features or improvements in MicroPython.
#### Get feedback first
Before submitting a new feature idea here, suggest starting a discussion on [Discord](https://discord.gg/RB8HZSAExQ) or [GitHub Discussions](https://github.com/orgs/micropython/discussions/) to get early feedback from the community and maintainers.
#### Not a MicroPython core feature?
* If you have a question \"How Do I ...?\", please post it on GitHub Discussions or Discord instead of here.
* Could this feature be implemented as a pure Python library? If so, please open the request on the [micropython-lib repository](https://github.com/micropython/micropython-lib/issues) instead.
#### Existing issue?
* Please search for [existing issues](https://github.com/micropython/micropython/issues) before opening a new one.
- type: textarea
id: feature
attributes:
label: Description
description: |
Describe the feature you'd like to see added to MicroPython. What does this feature enable and why is it useful?
* For core Python features, where possible please include a link to the relevant PEP or CPython documentation.
* For new architectures / ports / boards, please provide links to relevant documentation, specifications, and toolchains. Any information about the popularity and unique features about this hardware would also be useful.
* For features for existing ports (e.g. new peripherals or microcontroller features), please describe which port(s) it applies to, and whether this is could be an extension to the machine API or a port-specific module?
* For drivers (e.g. for external hardware), please link to datasheets and/or existing drivers from other sources.
If there is an existing discussion somewhere about this feature, please add a link to it as well.
validations:
required: true
- type: textarea
id: size
attributes:
label: Code Size
description: |
MicroPython aims to strike a balance between functionality and code size. Can this feature be optionally enabled?
If you believe the usefulness of this feature would outweigh the additional code size, please explain. (It's OK to say you're unsure here, we're happy to discuss this with you.)
- type: dropdown
id: implementation
attributes:
label: Implementation
description: |
What is your suggestion for implementing this feature?
(See also: [How to sponsor](https://github.com/sponsors/micropython#sponsors), [How to submit a Pull Request](https://github.com/micropython/micropython/wiki/ContributorGuidelines).)
options:
- I hope the MicroPython maintainers or community will implement this feature
- I intend to implement this feature and would submit a Pull Request if desirable
- I would like to sponsor development of this feature
multiple: true
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest improvements for MicroPython.

View file

@ -1,60 +0,0 @@
name: Security report
description: Report a security issue or vulnerability in MicroPython
labels: ["security"]
body:
- type: markdown
attributes:
value: |
This form is for reporting security issues in MicroPython that are not readily exploitable.
1. For issues that are readily exploitable or have high impact, please email contact@micropython.org instead.
1. If this is a question about security, please ask it in [Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead.
#### Existing issue?
* Please search for [existing issues](https://github.com/micropython/micropython/issues) before reporting a new one.
- type: input
id: port-board-hw
attributes:
label: Port, board and/or hardware
description: |
Which MicroPython port(s) and board(s) are you using?
placeholder: |
esp32 port, ESP32-Duper board.
- type: textarea
id: version
attributes:
label: MicroPython version
description: |
To find the version:
1. Open a serial REPL.
2. Type Ctrl-B to see the startup message.
3. Copy-paste that output here.
If the version or configuration is modified from the official MicroPython releases or the master branch, please tell us the details of this as well.
placeholder: |
MicroPython v6.28.3 on 2029-01-23; PyBoard 9 with STM32F9
- type: textarea
id: report
attributes:
label: Issue Report
description: |
Please provide a clear and concise description of the security issue.
* What does this issue allow an attacker to do?
* How does the attacker exploit this issue?
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true

View file

@ -1,7 +0,0 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

View file

@ -1,33 +0,0 @@
<!-- Thanks for submitting a Pull Request! We appreciate you spending the
time to improve MicroPython. Please provide enough information so that
others can review your Pull Request.
Before submitting, please read:
https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md
https://github.com/micropython/micropython/wiki/ContributorGuidelines
Please check any CI failures that appear after your Pull Request is opened.
-->
### Summary
<!-- Explain the reason for making this change. What problem does the pull request
solve, or what improvement does it add? Add links if relevant. -->
### Testing
<!-- Explain what testing you did, and on which boards/ports. If there are
boards or ports that you couldn't test, please mention this here as well.
If you leave this empty then your Pull Request may be closed. -->
### Trade-offs and Alternatives
<!-- If the Pull Request has some negative impact (i.e. increased code size)
then please explain why you think the trade-off improvement is worth it.
If you can think of alternative ways to do this, please explain that here too.
Delete this heading if not relevant (i.e. small fixes) -->

View file

@ -1,16 +0,0 @@
name: JavaScript code lint and formatting with Biome
on: [push, pull_request]
jobs:
eslint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: 1.5.3
- name: Run Biome
run: biome ci --indent-style=space --indent-width=4 tests/ ports/webassembly

560
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,560 @@
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
name: Build CI
on:
push:
pull_request:
release:
types: [published]
check_suite:
types: [rerequested]
jobs:
test:
runs-on: ubuntu-20.04
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: CircuitPython version
run: |
git describe --dirty --tags
echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install deps
run: |
sudo apt-get update
sudo apt-get install -y eatmydata
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64 latexmk texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra
pip install -r requirements-dev.txt
- name: Versions
run: |
gcc --version
python3 --version
- name: New boards check
run: python3 -u ci_new_boards_check.py
working-directory: tools
- name: Duplicate USB VID/PID Check
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
- name: Build and Validate Stubs
run: make check-stubs -j2
- uses: actions/upload-artifact@v2
with:
name: stubs
path: circuitpython-stubs*
- name: Test Documentation Build (HTML)
run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html
- uses: actions/upload-artifact@v2
with:
name: docs
path: _build/html
- name: Test Documentation Build (LaTeX/PDF)
run: |
make latexpdf
- uses: actions/upload-artifact@v2
with:
name: docs
path: _build/latex
- name: Build mpy-cross
run: make -C mpy-cross -j2
- name: Build unix port
run: |
make -C ports/unix deplibs -j2
make -C ports/unix -j2
make -C ports/unix coverage -j2
- name: Test all
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1
working-directory: tests
- name: Print failure info
run: |
shopt -s nullglob;
for exp in *.exp;
do testbase=$(basename $exp .exp);
echo -e "\nFAILURE $testbase";
diff -u $testbase.exp $testbase.out;
done
working-directory: tests
if: failure()
- name: Native Tests
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --emit native
working-directory: tests
- name: mpy Tests
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
working-directory: tests
- name: Build mpy-cross.static-raspbian
run: make -C mpy-cross -j2 -f Makefile.static-raspbian
- uses: actions/upload-artifact@v2
with:
name: mpy-cross.static-raspbian
path: mpy-cross/mpy-cross.static-raspbian
- name: Build mpy-cross.static
run: make -C mpy-cross -j2 -f Makefile.static
- uses: actions/upload-artifact@v2
with:
name: mpy-cross.static-amd64-linux
path: mpy-cross/mpy-cross.static
- name: Build mpy-cross.static-mingw
run: make -C mpy-cross -j2 -f Makefile.static-mingw
- uses: actions/upload-artifact@v2
with:
name: mpy-cross.static-x64-windows
path: mpy-cross/mpy-cross.static.exe
- name: Upload stubs and mpy-cross builds to S3
run: |
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static-raspbian s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-raspbian-${{ env.CP_VERSION }} --no-progress --region us-east-1
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-amd64-linux-${{ env.CP_VERSION }} --no-progress --region us-east-1
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static.exe s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-x64-windows-${{ env.CP_VERSION }}.exe --no-progress --region us-east-1
zip -9r circuitpython-stubs.zip circuitpython-stubs
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp circuitpython-stubs.zip s3://adafruit-circuit-python/bin/stubs/circuitpython-stubs-${{ env.CP_VERSION }}.zip --no-progress --region us-east-1
env:
AWS_PAGER: ''
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
mpy-cross-mac:
runs-on: macos-10.15
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: CircuitPython version
run: |
git describe --dirty --tags
echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
- name: Install dependencies
run: |
brew install gettext
echo >>$GITHUB_PATH /usr/local/opt/gettext/bin
- name: Versions
run: |
gcc --version
python3 --version
msgfmt --version
- name: Build mpy-cross
run: make -C mpy-cross -j2
- uses: actions/upload-artifact@v2
with:
name: mpy-cross-macos-catalina
path: mpy-cross/mpy-cross
- name: Upload mpy-cross build to S3
run: |
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross-macos-catalina-${{ env.CP_VERSION }} --no-progress --region us-east-1
env:
AWS_PAGER: ''
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
build-arm:
runs-on: ubuntu-20.04
needs: test
strategy:
fail-fast: false
matrix:
board:
- "8086_commander"
- "ADM_B_NRF52840_1"
- "TG-Watch"
- "adafruit_feather_rp2040"
- "adafruit_itsybitsy_rp2040"
- "adafruit_neokey_trinkey_m0"
- "adafruit_proxlight_trinkey_m0"
- "adafruit_qtpy_rp2040"
- "adafruit_rotary_trinkey_m0"
- "adafruit_slide_trinkey_m0"
- "aloriumtech_evo_m51"
- "aramcon2_badge"
- "aramcon_badge_2019"
- "arduino_mkr1300"
- "arduino_mkrzero"
- "arduino_nano_33_ble"
- "arduino_nano_33_iot"
- "arduino_zero"
- "bast_pro_mini_m0"
- "bastble"
- "bdmicro_vina_d21"
- "bdmicro_vina_d51"
- "bdmicro_vina_d51_pcb7"
- "bless_dev_board_multi_sensor"
- "blm_badge"
- "capablerobot_usbhub"
- "catwan_usbstick"
- "circuitbrains_basic_m0"
- "circuitbrains_deluxe_m4"
- "circuitplayground_bluefruit"
- "circuitplayground_express"
- "circuitplayground_express_crickit"
- "circuitplayground_express_displayio"
- "clue_nrf52840_express"
- "cp32-m4"
- "cp_sapling_m0"
- "cp_sapling_m0_spiflash"
- "datalore_ip_m4"
- "datum_distance"
- "datum_imu"
- "datum_light"
- "datum_weather"
- "dynalora_usb"
- "dynossat_edu_eps"
- "dynossat_edu_obc"
- "electronut_labs_blip"
- "electronut_labs_papyr"
- "escornabot_makech"
- "espruino_pico"
- "espruino_wifi"
- "feather_bluefruit_sense"
- "feather_m0_adalogger"
- "feather_m0_basic"
- "feather_m0_express"
- "feather_m0_express_crickit"
- "feather_m0_rfm69"
- "feather_m0_rfm9x"
- "feather_m0_supersized"
- "feather_m4_can"
- "feather_m4_express"
- "feather_m7_1011"
- "feather_mimxrt1011"
- "feather_mimxrt1062"
- "feather_nrf52840_express"
- "feather_radiofruit_zigbee"
- "feather_stm32f405_express"
- "fluff_m0"
- "gemma_m0"
- "grandcentral_m4_express"
- "hallowing_m0_express"
- "hallowing_m4_express"
- "hiibot_bluefi"
- "huntercat_nfc"
- "ikigaisense_vita"
- "imxrt1010_evk"
- "imxrt1020_evk"
- "imxrt1060_evk"
- "itsybitsy_m0_express"
- "itsybitsy_m4_express"
- "itsybitsy_nrf52840_express"
- "kicksat-sprite"
- "loc_ber_m4_base_board"
- "makerdiary_m60_keyboard"
- "makerdiary_nrf52840_m2_devkit"
- "makerdiary_nrf52840_mdk"
- "makerdiary_nrf52840_mdk_usb_dongle"
- "matrixportal_m4"
- "meowbit_v121"
- "meowmeow"
- "metro_m0_express"
- "metro_m4_airlift_lite"
- "metro_m4_express"
- "metro_m7_1011"
- "metro_nrf52840_express"
- "mini_sam_m4"
- "monster_m4sk"
- "ndgarage_ndbit6"
- "ndgarage_ndbit6_v2"
- "neopixel_trinkey_m0"
- "nfc_copy_cat"
- "nice_nano"
- "nucleo_f746zg"
- "nucleo_f767zi"
- "nucleo_h743zi_2"
- "ohs2020_badge"
- "openbook_m4"
- "openmv_h7"
- "particle_argon"
- "particle_boron"
- "particle_xenon"
- "pca10056"
- "pca10059"
- "pca10100"
- "pewpew10"
- "pewpew_m4"
- "picoplanet"
- "pimoroni_keybow2040"
- "pimoroni_picolipo_16mb"
- "pimoroni_picolipo_4mb"
- "pimoroni_picosystem"
- "pimoroni_tiny2040"
- "pirkey_m0"
- "pitaya_go"
- "pyb_nano_v2"
- "pybadge"
- "pybadge_airlift"
- "pyboard_v11"
- "pycubed"
- "pycubed_mram"
- "pygamer"
- "pygamer_advance"
- "pyportal"
- "pyportal_titano"
- "pyruler"
- "qtpy_m0"
- "qtpy_m0_haxpress"
- "raspberry_pi_pico"
- "raytac_mdbt50q-db-40"
- "robohatmm1_m4"
- "sam32"
- "same54_xplained"
- "seeeduino_wio_terminal"
- "seeeduino_xiao"
- "sensebox_mcu"
- "serpente"
- "shirtty"
- "silicognition-m4-shim"
- "simmel"
- "snekboard"
- "sparkfun_lumidrive"
- "sparkfun_micromod_rp2040"
- "sparkfun_nrf52840_micromod"
- "sparkfun_nrf52840_mini"
- "sparkfun_pro_micro_rp2040"
- "sparkfun_qwiic_micro_no_flash"
- "sparkfun_qwiic_micro_with_flash"
- "sparkfun_redboard_turbo"
- "sparkfun_samd21_dev"
- "sparkfun_samd21_mini"
- "sparkfun_samd51_thing_plus"
- "sparkfun_thing_plus_rp2040"
- "spresense"
- "stackrduino_m0_pro"
- "stm32f411ce_blackpill"
- "stm32f411ce_blackpill_with_flash"
- "stm32f411ve_discovery"
- "stm32f412zg_discovery"
- "stm32f4_discovery"
- "stm32f746g_discovery"
- "stringcar_m0_express"
- "teensy40"
- "teensy41"
- "teknikio_bluebird"
- "thunderpack_v11"
- "thunderpack_v12"
- "tinkeringtech_scoutmakes_azul"
- "trellis_m4_express"
- "trinket_m0"
- "trinket_m0_haxpress"
- "uartlogger2"
- "uchip"
- "ugame10"
- "winterbloom_big_honking_button"
- "winterbloom_sol"
- "xinabox_cc03"
- "xinabox_cs11"
steps:
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: Install deps
run: |
sudo apt-get install -y gettext
pip install -r requirements-dev.txt
wget --no-verbose https://adafruit-circuit-python.s3.amazonaws.com/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
sudo tar -C /usr --strip-components=1 -xaf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
- name: Versions
run: |
gcc --version
arm-none-eabi-gcc --version
python3 --version
- name: mpy-cross
run: make -C mpy-cross -j2
- name: Setup build failure matcher
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
- name: build
run: python3 -u build_release_files.py
working-directory: tools
env:
BOARDS: ${{ matrix.board }}
- uses: actions/upload-artifact@v2
with:
name: ${{ matrix.board }}
path: bin/${{ matrix.board }}
- name: Upload to S3
run: "[ -z \"$AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
env:
AWS_PAGER: ''
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
build-riscv:
runs-on: ubuntu-20.04
needs: test
strategy:
fail-fast: false
matrix:
board:
- "fomu"
steps:
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: Install deps
run: |
sudo apt-get install -y gettext
pip install requests sh click setuptools awscli
wget https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
sudo tar -C /usr --strip-components=1 -xaf riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
- name: Versions
run: |
gcc --version
riscv64-unknown-elf-gcc --version
python3 --version
- name: mpy-cross
run: make -C mpy-cross -j2
- name: Setup build failure matcher
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
- name: build
run: python3 -u build_release_files.py
working-directory: tools
env:
BOARDS: ${{ matrix.board }}
- uses: actions/upload-artifact@v2
with:
name: ${{ matrix.board }}
path: bin/${{ matrix.board }}
- name: Upload to S3
run: "[ -z \"$AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
env:
AWS_PAGER: ''
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
build-xtensa:
runs-on: ubuntu-20.04
needs: test
strategy:
fail-fast: false
matrix:
board:
- "adafruit_feather_esp32s2_nopsram"
- "adafruit_feather_esp32s2_tftback_nopsram"
- "adafruit_funhouse"
- "adafruit_magtag_2.9_grayscale"
- "adafruit_metro_esp32s2"
- "artisense_rd00"
- "atmegazero_esp32s2"
- "electroniccats_bastwifi"
- "espressif_kaluga_1"
- "espressif_saola_1_wroom"
- "espressif_saola_1_wrover"
- "franzininho_wifi_wroom"
- "franzininho_wifi_wrover"
- "lilygo_ttgo_t8_s2_st7789"
- "microdev_micro_s2"
- "muselab_nanoesp32_s2"
- "targett_module_clip_wroom"
- "targett_module_clip_wrover"
- "unexpectedmaker_feathers2"
- "unexpectedmaker_feathers2_prerelease"
- "unexpectedmaker_tinys2"
steps:
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: CircuitPython version
run: git describe --dirty --tags
- uses: actions/cache@v2
name: Fetch IDF tool cache
id: idf-cache
with:
path: ${{ github.workspace }}/.idf_tools
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20210422
- name: Clone IDF submodules
run: |
(cd $IDF_PATH && git submodule update --init)
env:
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
- name: Install IDF tools
run: |
$IDF_PATH/tools/idf_tools.py --non-interactive install required
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
$IDF_PATH/tools/idf_tools.py --non-interactive install-python-env
rm -rf $IDF_TOOLS_PATH/dist
env:
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
- name: Install CircuitPython deps
run: |
source $IDF_PATH/export.sh
pip install -r requirements-dev.txt
sudo apt-get install -y gettext ninja-build
env:
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
- name: Versions
run: |
source $IDF_PATH/export.sh
gcc --version
xtensa-esp32s2-elf-gcc --version
python3 --version
ninja --version
cmake --version
shell: bash
env:
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
- name: mpy-cross
run: make -C mpy-cross -j2
- name: Setup build failure matcher
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
- name: build
run: |
source $IDF_PATH/export.sh
python3 -u build_release_files.py
working-directory: tools
shell: bash
env:
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
BOARDS: ${{ matrix.board }}
- uses: actions/upload-artifact@v2
with:
name: ${{ matrix.board }}
path: bin/${{ matrix.board }}
- name: Upload to S3
run: "[ -z \"$AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
env:
AWS_PAGER: ''
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))

View file

@ -1,20 +0,0 @@
name: Check code formatting
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
code-formatting:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
- name: Install packages
run: source tools/ci.sh && ci_c_code_formatting_setup
- name: Run code formatting
run: source tools/ci.sh && ci_c_code_formatting_run
- name: Check code formatting
run: git diff --exit-code

View file

@ -1,50 +0,0 @@
name: Check code size
on:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'ports/bare-arm/**'
- 'ports/mimxrt/**'
- 'ports/minimal/**'
- 'ports/rp2/**'
- 'ports/samd/**'
- 'ports/stm32/**'
- 'ports/unix/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 100
- name: Install packages
run: source tools/ci.sh && ci_code_size_setup
- name: Build
run: source tools/ci.sh && ci_code_size_build
- name: Compute code size difference
run: tools/metrics.py diff ~/size0 ~/size1 | tee diff
- name: Save PR number
if: github.event_name == 'pull_request'
env:
PR_NUMBER: ${{ github.event.number }}
run: echo $PR_NUMBER > pr_number
- name: Upload diff
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: code-size-report
path: |
diff
pr_number
retention-days: 1

View file

@ -1,105 +0,0 @@
name: Code size comment
on:
workflow_run:
workflows: [Check code size]
types: [completed]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
comment:
runs-on: ubuntu-22.04
steps:
- name: 'Download artifact'
id: download-artifact
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const fs = require('fs');
const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
const matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name == "code-size-report"
});
if (matchArtifact.length === 0) {
console.log('no matching artifact found');
console.log('result: "skip"');
return 'skip';
}
const download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact[0].id,
archive_format: 'zip',
});
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/code-size-report.zip`, Buffer.from(download.data));
console.log('artifact downloaded to `code-size-report.zip`');
console.log('result: "ok"');
return 'ok';
- name: 'Unzip artifact'
if: steps.download-artifact.outputs.result == 'ok'
run: unzip code-size-report.zip
- name: Post comment to pull request
if: steps.download-artifact.outputs.result == 'ok'
uses: actions/github-script@v7
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const fs = require('fs');
const prNumber = Number(fs.readFileSync('pr_number'));
const codeSizeReport = `Code size report:
\`\`\`
${fs.readFileSync('diff')}
\`\`\`
`;
const comments = await github.paginate(
github.rest.issues.listComments,
{
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
}
);
comments.reverse();
const previousComment = comments.find(comment =>
comment.user.login === 'github-actions[bot]'
)
// if github-actions[bot] already made a comment, update it,
// otherwise create a new comment.
if (previousComment) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: previousComment.id,
body: codeSizeReport,
});
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: codeSizeReport,
});
}

View file

@ -1,13 +0,0 @@
name: Check spelling with codespell
on: [push, pull_request]
jobs:
codespell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
# codespell version should be kept in sync with .pre-commit-config.yml
- run: pip install --user codespell==2.4.1 tomli
- run: codespell

View file

@ -1,18 +0,0 @@
name: Check commit message formatting
on: [pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 100
- uses: actions/setup-python@v5
- name: Check commit message formatting
run: source tools/ci.sh && ci_commit_formatting_run

43
.github/workflows/create_website_pr.yml vendored Normal file
View file

@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
name: Update CircuitPython.org
on:
release:
types: [published]
jobs:
website:
runs-on: ubuntu-20.04
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install deps
run: |
pip install -r requirements-dev.txt
- name: Versions
run: |
gcc --version
python3 --version
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: CircuitPython version
run: git describe --dirty --tags
- name: Website
run: python3 build_board_info.py
working-directory: tools
env:
RELEASE_TAG: ${{ github.event.release.tag_name }}
ADABOT_GITHUB_ACCESS_TOKEN: ${{ secrets.BLINKA_GITHUB_ACCESS_TOKEN }}
if: github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested')

View file

@ -1,27 +0,0 @@
name: Build docs
on:
push:
pull_request:
paths:
- docs/**
- py/**
- tests/cpydiff/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
- name: Install Python packages
run: pip install -r docs/requirements.txt
- name: Build unix port
run: source tools/ci.sh && ci_unix_build_helper
- name: Build docs
run: make -C docs/ html

View file

@ -1,25 +0,0 @@
name: Check examples
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'examples/**'
- 'ports/unix/**'
- 'py/**'
- 'shared/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
embedding:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build
run: make -C examples/embedding -f micropython_embed.mk && make -C examples/embedding
- name: Run
run: ./examples/embedding/embed | grep "hello world"

14
.github/workflows/match-build-fail.json vendored Normal file
View file

@ -0,0 +1,14 @@
{
"problemMatcher": [
{
"severity": "error",
"pattern": [
{
"regexp": "^(Build .+ and \\x1b\\[31mfailed\\x1b\\[0m)$",
"message": 1
}
],
"owner": "build-failed"
}
]
}

View file

@ -1,29 +0,0 @@
name: Package mpremote
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
# Setting this to zero means fetch all history and tags,
# which hatch-vcs can use to discover the version tag.
fetch-depth: 0
- uses: actions/setup-python@v5
- name: Install build tools
run: pip install build
- name: Build mpremote wheel
run: cd tools/mpremote && python -m build --wheel
- name: Archive mpremote wheel
uses: actions/upload-artifact@v4
with:
name: mpremote
path: |
tools/mpremote/dist/mpremote*.whl

View file

@ -1,24 +0,0 @@
name: .mpy file format and tools
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'examples/**'
- 'tests/**'
- 'tools/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-22.04 # use 22.04 to get python2
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_mpy_format_setup
- name: Test mpy-tool.py
run: source tools/ci.sh && ci_mpy_format_test

View file

@ -1,22 +0,0 @@
name: Build ports metadata
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- ports/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build ports download metadata
run: mkdir boards && ./tools/autobuild/build-downloads.py . ./boards

View file

@ -1,33 +0,0 @@
name: alif port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/alif/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_alif:
strategy:
fail-fast: false
matrix:
ci_func: # names are functions in ci.sh
- alif_ae3_build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_alif_setup
- name: Build ci_${{matrix.ci_func }}
run: source tools/ci.sh && ci_${{ matrix.ci_func }}

View file

@ -1,28 +0,0 @@
name: cc3200 port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/cc3200/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_cc3200_setup
- name: Build
run: source tools/ci.sh && ci_cc3200_build

View file

@ -1,58 +0,0 @@
name: esp32 port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/esp32/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_idf:
strategy:
fail-fast: false
matrix:
ci_func: # names are functions in ci.sh
- esp32_build_cmod_spiram_s2
- esp32_build_s3_c3
- esp32_build_c2_c6
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- id: idf_ver
name: Read the ESP-IDF version (including Python version)
run: source tools/ci.sh && echo "IDF_VER=${IDF_VER}-py${PYTHON_VER}" | tee "$GITHUB_OUTPUT"
- name: Cached ESP-IDF install
id: cache_esp_idf
uses: actions/cache@v4
with:
path: |
./esp-idf/
~/.espressif/
!~/.espressif/dist/
~/.cache/pip/
key: esp-idf-${{ steps.idf_ver.outputs.IDF_VER }}
- name: Install ESP-IDF packages
if: steps.cache_esp_idf.outputs.cache-hit != 'true'
run: source tools/ci.sh && ci_esp32_idf_setup
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: esp32-${{ matrix.ci_func }}
- name: Build ci_${{matrix.ci_func }}
run: source tools/ci.sh && ci_${{ matrix.ci_func }}

View file

@ -1,28 +0,0 @@
name: esp8266 port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/esp8266/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_esp8266_setup && ci_esp8266_path >> $GITHUB_PATH
- name: Build
run: source tools/ci.sh && ci_esp8266_build

View file

@ -1,33 +0,0 @@
name: mimxrt port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/mimxrt/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: 'micropython repo' # test build with space in path
steps:
- uses: actions/checkout@v5
with:
path: 'micropython repo'
- name: Install packages
run: source tools/ci.sh && ci_mimxrt_setup
- name: Build
run: source tools/ci.sh && ci_mimxrt_build

View file

@ -1,28 +0,0 @@
name: nrf port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/nrf/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_nrf_setup
- name: Build
run: source tools/ci.sh && ci_nrf_build

View file

@ -1,28 +0,0 @@
name: powerpc port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/powerpc/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_powerpc_setup
- name: Build
run: source tools/ci.sh && ci_powerpc_build

View file

@ -1,52 +0,0 @@
name: qemu port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/qemu/**'
- 'tests/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_and_test_arm:
strategy:
fail-fast: false
matrix:
ci_func: # names are functions in ci.sh
- bigendian
- sabrelite
- thumb_softfp
- thumb_hardfp
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_qemu_setup_arm
- name: Build and run test suite ci_qemu_build_arm_${{ matrix.ci_func }}
run: source tools/ci.sh && ci_qemu_build_arm_${{ matrix.ci_func }}
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
build_and_test_rv32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_qemu_setup_rv32
- name: Build and run test suite
run: source tools/ci.sh && ci_qemu_build_rv32
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures

View file

@ -1,29 +0,0 @@
name: renesas-ra port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/renesas-ra/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_renesas_ra_board:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_renesas_ra_setup
- name: Build
run: source tools/ci.sh && ci_renesas_ra_board_build

View file

@ -1,33 +0,0 @@
name: rp2 port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/rp2/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: 'micropython repo' # test build with space in path
steps:
- uses: actions/checkout@v5
with:
path: 'micropython repo'
- name: Install packages
run: source tools/ci.sh && ci_rp2_setup
- name: Build
run: source tools/ci.sh && ci_rp2_build

View file

@ -1,28 +0,0 @@
name: samd port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/samd/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_samd_setup
- name: Build
run: source tools/ci.sh && ci_samd_build

View file

@ -1,36 +0,0 @@
name: stm32 port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/stm32/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_stm32:
strategy:
fail-fast: false
matrix:
ci_func: # names are functions in ci.sh
- stm32_pyb_build
- stm32_nucleo_build
- stm32_misc_build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_stm32_setup
- name: Build ci_${{matrix.ci_func }}
run: source tools/ci.sh && ci_${{ matrix.ci_func }}

View file

@ -1,328 +0,0 @@
name: unix port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'examples/**'
- 'mpy-cross/**'
- 'ports/unix/**'
- 'tests/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
minimal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build
run: source tools/ci.sh && ci_unix_minimal_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_minimal_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
reproducible:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build with reproducible date
run: source tools/ci.sh && ci_unix_minimal_build
env:
SOURCE_DATE_EPOCH: 1234567890
- name: Check reproducible build date
run: echo | ports/unix/build-minimal/micropython -i | grep 'on 2009-02-13;'
standard:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build
run: source tools/ci.sh && ci_unix_standard_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_standard_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
standard_v2:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build
run: source tools/ci.sh && ci_unix_standard_v2_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_standard_v2_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
with:
python-version: '3.11'
- name: Install packages
run: source tools/ci.sh && ci_unix_coverage_setup
- name: Build
run: source tools/ci.sh && ci_unix_coverage_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_coverage_run_tests
- name: Test merging .mpy files
run: source tools/ci.sh && ci_unix_coverage_run_mpy_merge_tests
- name: Build native mpy modules
run: source tools/ci.sh && ci_native_mpy_modules_build
- name: Test importing .mpy generated by mpy_ld.py
run: source tools/ci.sh && ci_unix_coverage_run_native_mpy_tests
- name: Run gcov coverage analysis
run: |
(cd ports/unix && gcov -o build-coverage/py ../../py/*.c || true)
(cd ports/unix && gcov -o build-coverage/extmod ../../extmod/*.c || true)
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
coverage_32bit:
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_32bit_setup
- name: Build
run: source tools/ci.sh && ci_unix_coverage_32bit_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_coverage_32bit_run_tests
- name: Build native mpy modules
run: source tools/ci.sh && ci_native_mpy_modules_32bit_build
- name: Test importing .mpy generated by mpy_ld.py
run: source tools/ci.sh && ci_unix_coverage_32bit_run_native_mpy_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
nanbox:
runs-on: ubuntu-22.04 # use 22.04 to get python2, and libffi-dev:i386
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_32bit_setup
- name: Build
run: source tools/ci.sh && ci_unix_nanbox_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_nanbox_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
longlong:
runs-on: ubuntu-22.04 # use 22.04 to get python2, and libffi-dev:i386
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_32bit_setup
- name: Build
run: source tools/ci.sh && ci_unix_longlong_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_longlong_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
float:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build
run: source tools/ci.sh && ci_unix_float_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_float_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
gil_enabled:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Build
run: source tools/ci.sh && ci_unix_gil_enabled_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_gil_enabled_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
stackless_clang:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_clang_setup
- name: Build
run: source tools/ci.sh && ci_unix_stackless_clang_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_stackless_clang_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
float_clang:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_clang_setup
- name: Build
run: source tools/ci.sh && ci_unix_float_clang_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_float_clang_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
settrace_stackless:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
with:
python-version: '3.11'
- name: Build
run: source tools/ci.sh && ci_unix_settrace_stackless_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_settrace_stackless_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Build
run: source tools/ci.sh && ci_unix_macos_build
- name: Run tests
run: source tools/ci.sh && ci_unix_macos_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
qemu_mips:
# ubuntu-22.04 is needed for older libffi.
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_qemu_mips_setup
- name: Build
run: source tools/ci.sh && ci_unix_qemu_mips_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_qemu_mips_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
qemu_arm:
# ubuntu-22.04 is needed for older libffi.
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_qemu_arm_setup
- name: Build
run: source tools/ci.sh && ci_unix_qemu_arm_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_qemu_arm_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
qemu_riscv64:
# ubuntu-22.04 is needed for older libffi.
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_unix_qemu_riscv64_setup
- name: Build
run: source tools/ci.sh && ci_unix_qemu_riscv64_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_qemu_riscv64_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
sanitize_address:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
with:
python-version: '3.11'
- name: Install packages
run: source tools/ci.sh && ci_unix_coverage_setup
- name: Build
run: source tools/ci.sh && ci_unix_sanitize_address_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_sanitize_address_run_tests
- name: Test merging .mpy files
run: source tools/ci.sh && ci_unix_coverage_run_mpy_merge_tests
- name: Build native mpy modules
run: source tools/ci.sh && ci_native_mpy_modules_build
- name: Test importing .mpy generated by mpy_ld.py
run: source tools/ci.sh && ci_unix_coverage_run_native_mpy_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures
sanitize_undefined:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
with:
python-version: '3.11'
- name: Install packages
run: source tools/ci.sh && ci_unix_coverage_setup
- name: Build
run: source tools/ci.sh && ci_unix_sanitize_undefined_build
- name: Run main test suite
run: source tools/ci.sh && ci_unix_sanitize_undefined_run_tests
- name: Test merging .mpy files
run: source tools/ci.sh && ci_unix_coverage_run_mpy_merge_tests
- name: Build native mpy modules
run: source tools/ci.sh && ci_native_mpy_modules_build
- name: Test importing .mpy generated by mpy_ld.py
run: source tools/ci.sh && ci_unix_coverage_run_native_mpy_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures

View file

@ -1,33 +0,0 @@
name: webassembly port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'ports/webassembly/**'
- 'tests/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_webassembly_setup
- name: Build
run: source tools/ci.sh && ci_webassembly_build
- name: Run tests
run: source tools/ci.sh && ci_webassembly_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures

View file

@ -1,150 +0,0 @@
name: windows port
on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'ports/unix/**'
- 'ports/windows/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-vs:
strategy:
fail-fast: false
matrix:
platform: [x86, x64]
configuration: [Debug, Release]
variant: [dev, standard]
visualstudio: ['2017', '2019', '2022']
include:
- visualstudio: '2017'
vs_version: '[15, 16)'
- visualstudio: '2019'
vs_version: '[16, 17)'
- visualstudio: '2022'
vs_version: '[17, 18)'
# trim down the number of jobs in the matrix
exclude:
- variant: standard
configuration: Debug
- visualstudio: '2019'
configuration: Debug
runs-on: windows-latest
env:
CI_BUILD_CONFIGURATION: ${{ matrix.configuration }}
steps:
- name: Install Visual Studio 2017
if: matrix.visualstudio == '2017'
run: |
choco install visualstudio2017buildtools
choco install visualstudio2017-workload-vctools
choco install windows-sdk-8.1
- name: Install Visual Studio 2019
if: matrix.visualstudio == '2019'
run: |
choco install visualstudio2019buildtools
choco install visualstudio2019-workload-vctools
choco install windows-sdk-8.1
- uses: microsoft/setup-msbuild@v2
with:
vs-version: ${{ matrix.vs_version }}
- uses: actions/checkout@v5
- name: Build mpy-cross.exe
run: msbuild mpy-cross\mpy-cross.vcxproj -maxcpucount -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }}
- name: Update submodules
run: git submodule update --init lib/micropython-lib
- name: Build micropython.exe
run: msbuild ports\windows\micropython.vcxproj -maxcpucount -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }} -property:PyVariant=${{ matrix.variant }}
- name: Get micropython.exe path
id: get_path
run: |
$exePath="$(msbuild ports\windows\micropython.vcxproj -nologo -v:m -t:ShowTargetPath -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }} -property:PyVariant=${{ matrix.variant }})"
echo ("micropython=" + $exePath.Trim()) >> $env:GITHUB_OUTPUT
- name: Run tests
id: test
env:
MICROPY_MICROPYTHON: ${{ steps.get_path.outputs.micropython }}
working-directory: tests
run: python run-tests.py
- name: Print failures
if: failure() && steps.test.conclusion == 'failure'
working-directory: tests
run: python run-tests.py --print-failures
- name: Run mpy tests
id: test_mpy
env:
MICROPY_MICROPYTHON: ${{ steps.get_path.outputs.micropython }}
working-directory: tests
run: python run-tests.py --via-mpy -d basics float micropython
- name: Print mpy failures
if: failure() && steps.test_mpy.conclusion == 'failure'
working-directory: tests
run: python run-tests.py --print-failures
build-mingw:
strategy:
fail-fast: false
matrix:
variant: [dev, standard]
sys: [mingw32, mingw64]
include:
- sys: mingw32
env: i686
- sys: mingw64
env: x86_64
runs-on: windows-latest
env:
CHERE_INVOKING: enabled_from_arguments
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/setup-python@v5
# note: can go back to installing mingw-w64-${{ matrix.env }}-python after
# MSYS2 updates to Python >3.12 (due to settrace compatibility issue)
with:
python-version: '3.11'
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
update: true
install: >-
make
mingw-w64-${{ matrix.env }}-gcc
pkg-config
git
diffutils
path-type: inherit # Remove when setup-python is removed
- uses: actions/checkout@v5
- name: Build mpy-cross.exe
run: make -C mpy-cross -j2
- name: Update submodules
run: make -C ports/windows VARIANT=${{ matrix.variant }} submodules
- name: Build micropython.exe
run: make -C ports/windows -j2 VARIANT=${{ matrix.variant }}
- name: Run tests
id: test
run: make -C ports/windows test_full VARIANT=${{ matrix.variant }}
- name: Print failures
if: failure() && steps.test.conclusion == 'failure'
working-directory: tests
run: python run-tests.py --print-failures
cross-build-on-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install packages
run: source tools/ci.sh && ci_windows_setup
- name: Build
run: source tools/ci.sh && ci_windows_build

View file

@ -1,61 +0,0 @@
name: zephyr port
on:
push:
pull_request:
paths:
- '.github/workflows/ports_zephyr.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'ports/zephyr/**'
- 'tests/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: jlumbroso/free-disk-space@main
with:
# Only free up a few things so this step runs quickly.
android: false
dotnet: true
haskell: true
large-packages: false
docker-images: false
swap-storage: false
- uses: actions/checkout@v5
- id: versions
name: Read Zephyr version
run: source tools/ci.sh && echo "ZEPHYR=$ZEPHYR_VERSION" | tee "$GITHUB_OUTPUT"
- name: Cached Zephyr Workspace
id: cache_workspace
uses: actions/cache@v4
with:
# note that the Zephyr CI docker image is 15GB. At time of writing
# GitHub caches are limited to 10GB total for a project. So we only
# cache the "workspace"
path: ./zephyrproject
key: zephyr-workspace-${{ steps.versions.outputs.ZEPHYR }}
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: zephyr
- name: Install packages
run: source tools/ci.sh && ci_zephyr_setup
- name: Install Zephyr
if: steps.cache_workspace.outputs.cache-hit != 'true'
run: source tools/ci.sh && ci_zephyr_install
- name: Build
run: source tools/ci.sh && ci_zephyr_build
- name: Run main test suite
run: source tools/ci.sh && ci_zephyr_run_tests
- name: Print failures
if: failure()
run: tests/run-tests.py --print-failures

30
.github/workflows/pre-commit.yml vendored Normal file
View file

@ -0,0 +1,30 @@
# SPDX-FileCopyrightText: Copyright (c) 2019 Anthony Sottile
#
# SPDX-License-Identifier: MIT
name: pre-commit
on:
pull_request:
push:
jobs:
pre-commit:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- uses: actions/setup-python@v1
- name: Install deps
run: |
sudo apt-add-repository -y -u ppa:pybricks/ppa
sudo apt-get install -y black gettext uncrustify
pip3 install -r requirements-dev.txt
- name: Populate selected submodules
run: git submodule update --init extmod/ulab
- name: Set PY
run: echo >>$GITHUB_ENV PY="$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')"
- uses: actions/cache@v2
with:
path: ~/.cache/pre-commit
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
- uses: pre-commit/action@v1.1.0

View file

@ -1,13 +0,0 @@
name: Python code lint and formatting with ruff
on: [push, pull_request]
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
# ruff version should be kept in sync with .pre-commit-config.yaml & also micropython-lib
- run: pipx install ruff==0.11.6
- run: ruff check --output-format=github .
- run: ruff format --diff .

90
.gitignore vendored
View file

@ -1,26 +1,92 @@
# This .gitignore file is intended to be minimal.
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# If you find that you need additional rules, such as IDE temporary
# files, please do so either via a global .gitignore file (registered
# with core.excludesFile), or by adding private repository-specific
# rules to .git/info/exclude. See https://git-scm.com/docs/gitignore
# for more information.
# SPDX-License-Identifier: MIT
# Compiled Sources
###################
*.o
*.a
!atmel-samd/asf/**/*.a
*.elf
*.bin
*.map
*.hex
*.dis
*.exe
# Packages
############
dist/
*.egg-info
.eggs
# Logs and Databases
######################
*.log
# VIM Swap Files
######################
*.swp
# Build directories
######################
build/
bin/
circuitpython-stubs/
build-*/
docs/genrst/
# Test failure outputs and intermediate artefacts
tests/results/*
tests/ports/unix/ffi_lib.so
# Test failure outputs
######################
tests/*.exp
tests/*.out
# Python cache files
######################
__pycache__/
*.pyc
# Customized Makefile/project overrides
######################
GNUmakefile
user.props
# MacOS desktop metadata files
.DS_Store
# Sphinx output
###############
_build
# Generated rst files
######################
genrst/
/autoapi/
/shared-bindings/*/**/*.rst
# ctags and similar
###################
TAGS
# Merge leftovers
#################
*.orig
# Emacs backup files
####################
*~
*.DS_Store
**/*.DS_Store
*.icloud
# POEdit mo files
####################
*.mo
.vscode
.idea
# Python Virtual Environments
####################
.venv
.env
# Uncrustify formatting
*.uncrustify

243
.gitmodules vendored
View file

@ -1,76 +1,181 @@
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
[submodule "lib/axtls"]
path = lib/axtls
url = https://github.com/micropython/axtls.git
url = https://github.com/pfalcon/axtls
branch = micropython
[submodule "lib/libffi"]
path = lib/libffi
url = https://github.com/libffi/libffi
[submodule "lib/lwip"]
path = lib/lwip
url = https://github.com/lwip-tcpip/lwip.git
url = https://github.com/atgreen/libffi
[submodule "lib/berkeley-db-1.xx"]
path = lib/berkeley-db-1.xx
url = https://github.com/micropython/berkeley-db-1.xx
[submodule "lib/stm32lib"]
path = lib/stm32lib
url = https://github.com/micropython/stm32lib
branch = work-F0-1.9.0+F4-1.16.0+F7-1.7.0+G0-1.5.1+G4-1.3.0+H7-1.6.0+L0-1.11.2+L1-1.10.3+L4-1.17.0+WB-1.10.0+WL-1.1.0
[submodule "lib/nrfx"]
path = lib/nrfx
url = https://github.com/NordicSemiconductor/nrfx.git
[submodule "lib/mbedtls"]
path = lib/mbedtls
url = https://github.com/ARMmbed/mbedtls.git
[submodule "lib/asf4"]
path = lib/asf4
url = https://github.com/adafruit/asf4
url = https://github.com/pfalcon/berkeley-db-1.xx
[submodule "lib/uzlib"]
path = lib/uzlib
url = https://github.com/pfalcon/uzlib
[submodule "tools/uf2"]
path = tools/uf2
url = https://github.com/Microsoft/uf2.git
[submodule "atmel-samd/frozen/Adafruit_CircuitPython_NeoPixel"]
path = frozen/Adafruit_CircuitPython_NeoPixel
url = https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel
[submodule "frozen/Adafruit_CircuitPython_Thermistor"]
path = frozen/Adafruit_CircuitPython_Thermistor
url = https://github.com/adafruit/Adafruit_CircuitPython_Thermistor.git
[submodule "frozen/Adafruit_CircuitPython_LIS3DH"]
path = frozen/Adafruit_CircuitPython_LIS3DH
url = https://github.com/adafruit/Adafruit_CircuitPython_LIS3DH.git
[submodule "frozen/Adafruit_CircuitPython_BusDevice"]
path = frozen/Adafruit_CircuitPython_BusDevice
url = https://github.com/adafruit/Adafruit_CircuitPython_BusDevice.git
[submodule "tools/python-semver"]
path = tools/python-semver
url = https://github.com/k-bx/python-semver.git
[submodule "atmel-samd/asf4"]
path = ports/atmel-samd/asf4
url = https://github.com/adafruit/asf4.git
branch = circuitpython
[submodule "lib/tinyusb"]
path = lib/tinyusb
url = https://github.com/hathach/tinyusb
[submodule "lib/mynewt-nimble"]
path = lib/mynewt-nimble
url = https://github.com/micropython/mynewt-nimble.git
[submodule "lib/btstack"]
path = lib/btstack
url = https://github.com/bluekitchen/btstack.git
[submodule "lib/nxp_driver"]
path = lib/nxp_driver
url = https://github.com/micropython/nxp_driver.git
[submodule "lib/libhydrogen"]
path = lib/libhydrogen
url = https://github.com/jedisct1/libhydrogen.git
[submodule "lib/pico-sdk"]
path = lib/pico-sdk
url = https://github.com/raspberrypi/pico-sdk.git
[submodule "lib/fsp"]
path = lib/fsp
url = https://github.com/renesas/fsp.git
[submodule "lib/wiznet"]
path = lib/wiznet5k
url = https://github.com/andrewleech/wiznet_ioLibrary_Driver.git
# Requires https://github.com/Wiznet/ioLibrary_Driver/pull/120
# url = https://github.com/Wiznet/ioLibrary_Driver.git
[submodule "lib/cyw43-driver"]
path = lib/cyw43-driver
url = https://github.com/georgerobotics/cyw43-driver.git
[submodule "lib/micropython-lib"]
path = lib/micropython-lib
url = https://github.com/micropython/micropython-lib.git
[submodule "lib/protobuf-c"]
path = lib/protobuf-c
url = https://github.com/protobuf-c/protobuf-c.git
[submodule "lib/open-amp"]
path = lib/open-amp
url = https://github.com/OpenAMP/open-amp.git
[submodule "lib/libmetal"]
path = lib/libmetal
url = https://github.com/OpenAMP/libmetal.git
[submodule "lib/arduino-lib"]
path = lib/arduino-lib
url = https://github.com/arduino/arduino-lib-mpy.git
[submodule "lib/alif_ensemble-cmsis-dfp"]
path = lib/alif_ensemble-cmsis-dfp
url = https://github.com/alifsemi/alif_ensemble-cmsis-dfp.git
[submodule "lib/alif-security-toolkit"]
path = lib/alif-security-toolkit
url = https://github.com/micropython/alif-security-toolkit.git
[submodule "tools/usb_descriptor"]
path = tools/usb_descriptor
url = https://github.com/adafruit/usb_descriptor.git
[submodule "lib/nrfutil"]
path = lib/nrfutil
url = https://github.com/adafruit/nRF52_nrfutil
[submodule "ports/atmel-samd/freetouch"]
path = ports/atmel-samd/freetouch
url = https://github.com/adafruit/Adafruit_FreeTouch.git
[submodule "frozen/Adafruit_CircuitPython_CircuitPlayground"]
path = frozen/Adafruit_CircuitPython_CircuitPlayground
url = https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground.git
[submodule "frozen/Adafruit_CircuitPython_HID"]
path = frozen/Adafruit_CircuitPython_HID
url = https://github.com/adafruit/Adafruit_CircuitPython_HID.git
[submodule "ports/atmel-samd/Adafruit_CircuitPython_Motor"]
path = frozen/Adafruit_CircuitPython_Motor
url = https://github.com/adafruit/Adafruit_CircuitPython_Motor.git
[submodule "ports/atmel-samd/Adafruit_CircuitPython_seesaw"]
path = frozen/Adafruit_CircuitPython_seesaw
url = https://github.com/adafruit/Adafruit_CircuitPython_seesaw.git
[submodule "frozen/Adafruit_CircuitPython_IRRemote"]
path = frozen/Adafruit_CircuitPython_IRRemote
url = https://github.com/adafruit/Adafruit_CircuitPython_IRRemote.git
[submodule "frozen/Adafruit_CircuitPython_DotStar"]
path = frozen/Adafruit_CircuitPython_DotStar
url = https://github.com/adafruit/Adafruit_CircuitPython_DotStar.git
[submodule "ports/atmel-samd/peripherals"]
path = ports/atmel-samd/peripherals
url = https://github.com/adafruit/samd-peripherals.git
[submodule "frozen/Adafruit_CircuitPython_Crickit"]
path = frozen/Adafruit_CircuitPython_Crickit
url = https://github.com/adafruit/Adafruit_CircuitPython_Crickit
[submodule "ports/nrf/nrfx"]
path = ports/nrf/nrfx
url = https://github.com/adafruit/nrfx.git
[submodule "tools/huffman"]
path = tools/huffman
url = https://github.com/tannewt/huffman.git
[submodule "tools/adabot"]
path = tools/adabot
url = https://github.com/adafruit/adabot.git
[submodule "tools/bitmap_font"]
path = tools/bitmap_font
url = https://github.com/adafruit/Adafruit_CircuitPython_BitmapFont.git
[submodule "tools/Tecate-bitmap-fonts"]
path = tools/Tecate-bitmap-fonts
url = https://github.com/Tecate/bitmap-fonts.git
[submodule "frozen/pew-pewpew-standalone-10.x"]
path = frozen/pew-pewpew-standalone-10.x
url = https://github.com/pewpew-game/pew-pewpew-standalone-10.x.git
[submodule "frozen/circuitpython-stage"]
path = frozen/circuitpython-stage
url = https://github.com/python-ugame/circuitpython-stage.git
[submodule "ports/cxd56/spresense-exported-sdk"]
path = ports/cxd56/spresense-exported-sdk
url = https://github.com/sonydevworld/spresense-exported-sdk.git
[submodule "frozen/Adafruit_CircuitPython_SD"]
path = frozen/Adafruit_CircuitPython_SD
url = https://github.com/adafruit/Adafruit_CircuitPython_SD.git
[submodule "lib/mp3"]
path = lib/mp3
url = https://github.com/adafruit/Adafruit_MP3
[submodule "ports/mimxrt10xx/sdk"]
path = ports/mimxrt10xx/sdk
url = https://github.com/adafruit/MIMXRT10xx_SDK
[submodule "frozen/Adafruit_CircuitPython_Register"]
path = frozen/Adafruit_CircuitPython_Register
url = https://github.com/adafruit/Adafruit_CircuitPython_Register.git
[submodule "extmod/ulab"]
path = extmod/ulab
url = https://github.com/adafruit/circuitpython-ulab
[submodule "frozen/Adafruit_CircuitPython_ESP32SPI"]
path = frozen/Adafruit_CircuitPython_ESP32SPI
url = https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI
[submodule "frozen/Adafruit_CircuitPython_Requests"]
path = frozen/Adafruit_CircuitPython_Requests
url = https://github.com/adafruit/Adafruit_CircuitPython_Requests
[submodule "ports/stm/st_driver"]
path = ports/stm/st_driver
url = https://github.com/hathach/st_driver.git
[submodule "lib/protomatter"]
path = lib/protomatter
url = https://github.com/adafruit/Adafruit_Protomatter
[submodule "frozen/Adafruit_CircuitPython_LSM6DS"]
path = frozen/Adafruit_CircuitPython_LSM6DS
url = https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS
[submodule "frozen/Adafruit_CircuitPython_FocalTouch"]
path = frozen/Adafruit_CircuitPython_FocalTouch
url = https://github.com/adafruit/Adafruit_CircuitPython_FocalTouch
[submodule "frozen/Adafruit_CircuitPython_DS3231"]
path = frozen/Adafruit_CircuitPython_DS3231
url = https://github.com/adafruit/Adafruit_CircuitPython_DS3231
[submodule "frozen/Adafruit_CircuitPython_DRV2605"]
path = frozen/Adafruit_CircuitPython_DRV2605
url = https://github.com/adafruit/Adafruit_CircuitPython_DRV2605
[submodule "frozen/Adafruit_CircuitPython_BLE"]
path = frozen/Adafruit_CircuitPython_BLE
url = https://github.com/adafruit/Adafruit_CircuitPython_BLE
[submodule "frozen/Adafruit_CircuitPython_BLE_Apple_Notification_Center"]
path = frozen/Adafruit_CircuitPython_BLE_Apple_Notification_Center
url = https://github.com/adafruit/Adafruit_CircuitPython_BLE_Apple_Notification_Center
[submodule "frozen/Adafruit_CircuitPython_RFM9x"]
path = frozen/Adafruit_CircuitPython_RFM9x
url = https://github.com/adafruit/Adafruit_CircuitPython_RFM9x.git
[submodule "frozen/Adafruit_CircuitPython_RFM69"]
path = frozen/Adafruit_CircuitPython_RFM69
url = https://github.com/adafruit/Adafruit_CircuitPython_RFM69.git
[submodule "ports/esp32s2/esp-idf"]
path = ports/esp32s2/esp-idf
url = https://github.com/adafruit/esp-idf.git
[submodule "ports/esp32s2/certificates/nina-fw"]
path = ports/esp32s2/certificates/nina-fw
url = https://github.com/adafruit/nina-fw.git
[submodule "frozen/Adafruit_CircuitPython_ST7789"]
path = frozen/Adafruit_CircuitPython_ST7789
url = https://github.com/adafruit/Adafruit_CircuitPython_ST7789
[submodule "frozen/Adafruit_CircuitPython_Display_Shapes"]
path = frozen/Adafruit_CircuitPython_Display_Shapes
url = https://github.com/adafruit/Adafruit_CircuitPython_Display_Shapes
[submodule "frozen/Adafruit_CircuitPython_Display_Text"]
path = frozen/Adafruit_CircuitPython_Display_Text
url = https://github.com/adafruit/Adafruit_CircuitPython_Display_Text
[submodule "frozen/Adafruit_CircuitPython_ProgressBar"]
path = frozen/Adafruit_CircuitPython_ProgressBar
url = https://github.com/adafruit/Adafruit_CircuitPython_ProgressBar
[submodule "frozen/Adafruit_CircuitPython_LC709203F"]
path = frozen/Adafruit_CircuitPython_LC709203F
url = https://github.com/adafruit/Adafruit_CircuitPython_LC709203F
[submodule "frozen/Adafruit_CircuitPython_SimpleMath"]
path = frozen/Adafruit_CircuitPython_SimpleMath
url = https://github.com/adafruit/Adafruit_CircuitPython_SimpleMath
[submodule "ports/raspberrypi/sdk"]
path = ports/raspberrypi/sdk
url = https://github.com/adafruit/pico-sdk.git
[submodule "data/nvm.toml"]
path = data/nvm.toml
url = https://github.com/adafruit/nvm.toml.git
branch = main
[submodule "frozen/Adafruit_CircuitPython_MIDI"]
path = frozen/Adafruit_CircuitPython_MIDI
url = https://github.com/adafruit/Adafruit_CircuitPython_MIDI

112
.mailmap Normal file
View file

@ -0,0 +1,112 @@
# SPDX-FileCopyrightText: 2020 Diego Elio Pettenò
#
# SPDX-License-Identifier: Unlicense
Alexander Steffen <devel.20.webmeister@spamgourmet.com>
Alexander Steffen <devel.20.webmeister@spamgourmet.com> <Alexander.Steffen@infineon.com>
Alexander Steffen <devel.20.webmeister@spamgourmet.com> <webmeister@users.noreply.github.com>
Benjamin Vernoux <bvernoux@gmail.com>
Brent Rubell <robots199@me.com>
Brent Rubell <robots199@me.com> <brent@xn.home>
Brent Rubell <robots199@me.com> <brentru@users.noreply.github.com>
Carlos <carlos.santiago.diaz@gmail.com>
Chris Packham <judge.packham@gmail.com>
Chris Packham <judge.packham@gmail.com> <chris.packham@alliedtelesis.co.nz>
Damiano Mazzella <damianomazzella@gmail.com>
Damien George <damien.p.george@gmail.com>
Dan Halbert <halbert@adafruit.com>
Dan Halbert <halbert@adafruit.com> <halbert@halwitz.org>
Daniel Pollard <daniel@learnweaver.com>
Daniel Pollard <daniel@learnweaver.com> <daniel.pollard@learnweaver.com>
Daniel Tralamazza <daniel@tralamazza.com>
Daniel Tralamazza <daniel@tralamazza.com> <tralamazza@users.noreply.github.com>
David Glaude <david.glaude@gmail.com>
David Glaude <david.glaude@gmail.com> <dglaude@users.noreply.github.com>
George Waters <gwatersdev@gmail.com>
George Waters <gwatersdev@gmail.com> <george@georgeh2os.com>
Ha Thach <thach@tinyusb.org>
Henrik Sölver <henrik.solver@gmail.com>
Ilya Dmitrichenko <errordeveloper@gmail.com>
Ilya Dmitrichenko <errordeveloper@gmail.com> <ilya@xively.com>
Jason Pecor <14111408+jpecor@users.noreply.github.com>
Jeff Epler <jepler@gmail.com>
Jeff Epler <jepler@gmail.com> <jeff@adafruit.com>
Jeff Epler <jepler@gmail.com> <jepler@de11.u>
Jeff Epler <jepler@gmail.com> <jepler@unpythonic.net>
Jerry Needell <jerryneedell@gmail.com>
Joe Bakalor <jmbakalor@gmail.com>
Josh Klar <josh@klar.sh>
Josh Klar <josh@klar.sh> <j@iv597.com>
Juan Biondi <juanernestobiondi@gmail.com>
Juan Biondi <juanernestobiondi@gmail.com> <juanernestobiondi@hotmail.com>
KalbeAbbas <kalbeabbas142@gmail.com>
KalbeAbbas <kalbeabbas142@gmail.com> <kalbeabbas@142@gmail.com>
Kamil Tomaszewski <kamil.tomaszewski@sony.com>
Kamil Tomaszewski <kamil.tomaszewski@sony.com> <46525824+kamtom480@users.noreply.github.com>
Kattni <kattni@adafruit.com> <kattni@kittyfish.org>
Kattni Rembor <kattni@adafruit.com>
Kenny <WarriorOfWire@users.noreply.github.com>
Kenny <WarriorOfWire@users.noreply.github.com> <3454741+WarriorOfWire@users.noreply.github.com>
Kevin Townsend <contact@microbuilder.eu>
Kevin Townsend <contact@microbuilder.eu> <microbuilder@users.noreply.github.com>
Krzysztof Blazewicz <blazewicz.krzysztof@gmail.com>
Krzysztof Blazewicz <blazewicz.krzysztof@gmail.com> <krzysztof.blazewicz@uxeon.com>
Li Weiwei <liweiwei@yeweitech.org>
Li Weiwei <liweiwei@yeweitech.org> <liweiwei@yeweitech.com>
Limor "Ladyada" Fried <limor@ladyada.net>
Limor "Ladyada" Fried <limor@ladyada.net> <ladyada>
Lucian Copeland <hierophect@gmail.com>
Lucian Copeland <hierophect@gmail.com> <hierophect@Lucians-MacBook-Air-2.local>
Mark Olsson <post@markolsson.se>
Mark Olsson <post@markolsson.se> <mark@markolsson.se>
Matt Land <matt-land@users.noreply.github.com>
Matt Land <matt-land@users.noreply.github.com> <mland@sparefoot.com>
Matt Wozniski <godlygeek+git@gmail.com>
Matt Wozniski <godlygeek+git@gmail.com> <mwozniski@bloomberg.net>
Melissa LeBlanc-Williams <melissa@adafruit.com>
Melissa LeBlanc-Williams <melissa@adafruit.com> <melissa@melissagirl.com>
Metallicow <metaliobovinus@gmail.com>
Metallicow <metaliobovinus@gmail.com> <edg62702@yahoo.com>
Peter Hinch <peter@hinch.me.uk>
Peter Hinch <peter@hinch.me.uk> <peterhinch@users.noreply.github.com>
Radomir Dopieralski <openstack@sheep.art.pl>
Radomir Dopieralski <openstack@sheep.art.pl> <deshipu@users.noreply.github.com>
Rafa Gould <rafagoulds@gmail.com>
Rafa Gould <rafagoulds@gmail.com> <50337143+rafa-gould@users.noreply.github.com>
Ryan Shaw <ryan.shaw@wisetechglobal.com>
Ryan Shaw <ryan.shaw@wisetechglobal.com> <ryannathans@hotmail.com>
Sabas <s@electroniccats.com>
Sabas <s@electroniccats.com> <s@theinventorhouse.org>
Sabas <s@electroniccats.com> <sabasjimenez@gmail.com>
Scott Shawcroft <scott@adafruit.com>
Scott Shawcroft <scott@adafruit.com> <devnull@unpythonic.net>
Scott Shawcroft <scott@adafruit.com> <scott.shawcroft@gmail.com>
Scott Shawcroft <scott@adafruit.com> <scott@chickadee.tech>
Scott Shawcroft <scott@adafruit.com> <scott@tannewt.org>
Sebastian Plamauer <oeplse@gmail.com>
Sebastian Plamauer <oeplse@gmail.com> <oepse@gmail.com>
Senuros <Senuros@users.noreply.github.com>
Senuros <Senuros@users.noreply.github.com> <senuros@noreply.github.com>
Stewart Colborne <tscolborne@outlook.com>
Stewart Colborne <tscolborne@outlook.com> <tscolborne@hotmail.com>
TG-Techie <TGTechie01@gmail.com>
TG-Techie <TGTechie01@gmail.com> <39284876+TG-Techie@users.noreply.github.com>
Thea Flowers <me@thea.codes>
Thea Flowers <me@thea.codes> <theaflowers@google.com>
Tobias Badertscher <badi@baerospace.ch>
Tobias Badertscher <badi@baerospace.ch> <python@baerospace.ch>
danicampora <danicampora@gmail.com>
danicampora <danicampora@gmail.com> <daniel@wipy.io>
dherrada <dylan.herrada@gmail.com>
dherrada <dylan.herrada@gmail.com> <33632497+dherrada@users.noreply.github.com>
dherrada <dylan.herrada@gmail.com> <=>
glennrub <glennbakke@gmail.com>
retoc <retoc@users.noreply.github.com>
retoc <retoc@users.noreply.github.com> <Retoc@noreply.github.com>
siddacious <nospam187+github@gmail.com>
siddacious <nospam187+github@gmail.com> <bsiepert@gmail.com>
siddacious <nospam187+github@gmail.com> <bsiepert@lbl.gov>
sommersoft <sommersoft@gmail.com>
sommersoft <sommersoft@gmail.com> <sommersoft@users.noreply.github.com>
stijn <stijn@ignitron.net>
stijn <stijn@ignitron.net> <stinos@zoho.com>

View file

@ -1,27 +1,26 @@
# SPDX-FileCopyrightText: 2020 Diego Elio Pettenò
#
# SPDX-License-Identifier: Unlicense
repos:
- repo: local
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: codeformat
name: MicroPython codeformat.py for changed C files
entry: tools/codeformat.py -v -c -f
language: python
- id: verifygitlog
name: MicroPython git commit message format checker
entry: tools/verifygitlog.py --check-file --ignore-rebase
language: python
verbose: true
stages: [commit-msg]
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Version should be kept in sync with .github/workflows/ruff.yml & also micropython-lib
rev: v0.11.6
- id: check-yaml
- id: end-of-file-fixer
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|ports/esp32s2/esp-idf-config/.*|ports/esp32s2/boards/.*/sdkconfig)'
- id: trailing-whitespace
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*)'
- repo: local
hooks:
- id: ruff
- id: ruff-format
- repo: https://github.com/codespell-project/codespell
# Version should be kept in sync with .github/workflows/codespell.yml
rev: v2.4.1
hooks:
- id: codespell
name: Spellcheck for changed files (codespell)
additional_dependencies:
- tomli
- id: translations
name: Translations
entry: sh -c "if ! make check-translate; then make translate; fi"
types: [c]
pass_filenames: false
language: system
- id: formatting
name: Formatting
entry: python3 tools/codeformat.py
types_or: [c, python]
language: system

21
.readthedocs.yml Normal file
View file

@ -0,0 +1,21 @@
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
submodules:
include:
- extmod/ulab
formats:
- pdf
python:
version: 3
install:
- requirements: docs/requirements.txt

20
.rosie.yml Normal file
View file

@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
# This configuration file tells Rosie where to find prebuilt .bin files (Travis
# builds them) and where to find the tests.
binaries:
prebuilt_s3:
bucket: adafruit-circuit-python
file_pattern: bin/{board}/adafruit-circuitpython-{board}-*-{short_sha}.{extension}
rosie_upload:
file_pattern: adafruit-circuitpython-{board}-*{short_sha}.{extension}
circuitpython_tests:
test_directories:
- tests/basics
- tests/circuitpython
test_helper:
- tests/skip_if.py

3
ACKNOWLEDGEMENTS.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
SPDX-License-Identifier: MIT

107
BUILDING.md Normal file
View file

@ -0,0 +1,107 @@
<!--
SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
SPDX-License-Identifier: MIT
-->
# Building CircuitPython
Welcome to CircuitPython!
This document is a quick-start guide only.
Detailed guides on how to build CircuitPython can be found in the Adafruit Learn system at
https://learn.adafruit.com/building-circuitpython/
## Setup
Please ensure you setup your build environment appropriately, as per the guide. You will need:
* Linux: https://learn.adafruit.com/building-circuitpython/linux
* MacOS: https://learn.adafruit.com/building-circuitpython/macos
* Windows Subsystem for Linux (WSL): https://learn.adafruit.com/building-circuitpython/windows-subsystem-for-linux
### Submodules
This project has a bunch of git submodules. You will need to update them regularly.
git submodule sync
git submodule update --init
### mpy-cross
As part of the build process, mpy-cross is needed to compile .py files into .mpy files.
To compile (or recompile) mpy-cross:
make -C mpy-cross
# Building
There a number of ports of CircuitPython! To build for your board, change to the appropriate ports directory and build.
Examples:
cd ports/atmel-samd
make BOARD=circuitplayground_express
cd ports/nrf
make BOARD=circuitplayground_bluefruit
If you aren't sure what boards exist, have a peek in the boards subdirectory of your port.
If you have a fast computer with many cores, consider adding `-j` to your build flags, such as `-j17` on
a 6-core 12-thread machine.
# Testing
If you are working on changes to the core language, you might find it useful to run the test suite.
The test suite in the top level `tests` directory. It needs the unix port to run.
cd ports/unix
make axtls
make micropython
Then you can run the test suite:
cd ../../tests
./run-tests
A successful run will say something like
676 tests performed (19129 individual testcases)
676 tests passed
30 tests skipped: buffered_writer builtin_help builtin_range_binop class_delattr_setattr cmd_parsetree extra_coverage framebuf1 framebuf16 framebuf2 framebuf4 framebuf8 framebuf_subclass mpy_invalid namedtuple_asdict non_compliant resource_stream schedule sys_getsizeof urandom_extra ure_groups ure_span ure_sub ure_sub_unmatched vfs_basic vfs_fat_fileio1 vfs_fat_fileio2 vfs_fat_more vfs_fat_oldproto vfs_fat_ramdisk vfs_userfs
# Debugging
The easiest way to debug CircuitPython on hardware is with a JLink device, JLinkGDBServer, and an appropriate GDB.
Instructions can be found at https://learn.adafruit.com/debugging-the-samd21-with-gdb
If using JLink, you'll need both the `JLinkGDBServer` and `arm-none-eabi-gdb` running.
Example:
JLinkGDBServer -if SWD -device ATSAMD51J19
arm-none-eabi-gdb build-metro_m4_express/firmware.elf -iex "target extended-remote :2331"
If your port/build includes `arm-none-eabi-gdb-py`, consider using it instead, as it can be used for better register
debugging with https://github.com/bnahill/PyCortexMDebug
# Code Quality Checks
We apply code quality checks using pre-commit. Install pre-commit once per system with
python3 -mpip install pre-commit
Activate it once per git clone with
pre-commit --install
Pre-commit also requires some additional programs to be installed through your package manager:
* Standard Unix tools such as make, find, etc
* The gettext package, any modern version
* uncrustify version 0.71 (0.72 is also tested)
Each time you create a git commit, the pre-commit quality checks will be run. You can also run them e.g., with `pre-commit run foo.c` or `pre-commit run --all` to run on all files whether modified or not.
Some pre-commit quality checks require your active attention to resolve, others (such as the formatting checks of uncrustify) are made automatically and must simply be incorporated into your code changes by committing them.

View file

@ -1,384 +0,0 @@
Git commit conventions
======================
Each commit message should start with a directory or full file path
prefix, so it was clear which part of codebase a commit affects. If
a change affects one file, it's better to use path to a file. If it
affects few files in a subdirectory, using subdirectory as a prefix
is ok. For longish paths, it's acceptable to drop intermediate
components, which still should provide good context of a change.
It's also ok to drop file extensions.
Besides prefix, first line of a commit message should describe a
change clearly and to the point, and be a grammatical sentence with
final full stop. First line must fit within 72 characters. Examples
of good first line of commit messages:
py/objstr: Add splitlines() method.
py: Rename FOO to BAR.
docs/machine: Fix typo in reset() description.
ports: Switch to use lib/foo instead of duplicated code.
After the first line add an empty line and in the following lines describe
the change in a detail, if needed, with lines fitting within 75 characters
(with an exception for long items like URLs which cannot be broken). Any
change beyond 5 lines would likely require such detailed description.
To get good practical examples of good commits and their messages, browse
the `git log` of the project.
When committing you must sign-off your commit by adding "Signed-off-by:"
line(s) at the end of the commit message, e.g. using `git commit -s`. You
are then certifying and signing off against the following:
* That you wrote the change yourself, or took it from a project with
a compatible license (in the latter case the commit message, and possibly
source code should provide reference where the implementation was taken
from and give credit to the original author, as required by the license).
* That you are allowed to release these changes to an open-source project
(for example, changes done during paid work for a third party may require
explicit approval from that third party).
* That you (or your employer) agree to release the changes under
MicroPython's license, which is the MIT license. Note that you retain
copyright for your changes (for smaller changes, the commit message
conveys your copyright; if you make significant changes to a particular
source module, you're welcome to add your name to the file header).
* Your contribution including commit message will be publicly and
indefinitely available for anyone to access, including redistribution
under the terms of the project's license.
* Your signature for all of the above, which is the "Signed-off-by" line,
includes your full real name and a valid and active email address by
which you can be contacted in the foreseeable future.
Code auto-formatting
====================
Both C and Python code formatting are controlled for consistency across the
MicroPython codebase. C code is formatted using the `tools/codeformat.py`
script which uses [uncrustify](https://github.com/uncrustify/uncrustify).
Python code is linted and formatted using
[ruff & ruff format](https://github.com/astral-sh/ruff).
After making changes, and before committing, run `tools/codeformat.py` to
reformat your C code and `ruff format` for any Python code. Without
arguments this tool will reformat all source code (and may take some time
to run). Otherwise pass as arguments to the tool the files that changed,
and it will only reformat those.
uncrustify
==========
Only [uncrustify](https://github.com/uncrustify/uncrustify) v0.71 or v0.72 can
be used for MicroPython. Different uncrustify versions produce slightly
different formatting, and the configuration file formats are often
incompatible. v0.73 or newer *will not work*.
Depending on your operating system version, it may be possible to install a pre-compiled
uncrustify version:
Ubuntu, Debian
--------------
Ubuntu versions 21.10 or 22.04LTS, and Debian versions bullseye or bookworm all
include v0.72 so can be installed directly:
```
$ apt install uncrustify
```
Arch Linux
----------
The current Arch uncrustify version is too new. There is an [old Arch package
for v0.72](https://archive.archlinux.org/packages/u/uncrustify/) that can be
installed from the Arch Linux archive ([more
information](https://wiki.archlinux.org/title/Downgrading_packages#Arch_Linux_Archive)). Use
the [IgnorePkg feature](https://wiki.archlinux.org/title/Pacman#Skip_package_from_being_upgraded)
to prevent it re-updating.
Brew
----
This command may work, please raise a new Issue if it doesn't:
```
curl -L https://github.com/Homebrew/homebrew-core/raw/2b07d8192623365078a8b855a164ebcdf81494a6/Formula/uncrustify.rb > uncrustify.rb && brew install uncrustify.rb && rm uncrustify.rb
```
Code spell checking
===================
Code spell checking is done using [codespell](https://github.com/codespell-project/codespell#codespell)
and runs in a GitHub action in CI. Codespell is configured via `pyproject.toml`
to avoid false positives. It is recommended run codespell before submitting a
PR. To simplify this, codespell is configured as a pre-commit hook and will be
installed if you run `pre-commit install` (see below).
If you want to install and run codespell manually, you can do so by running:
```
$ pip install codespell tomli
$ codespell
```
Automatic Pre-Commit Hooks
==========================
To have code formatting and commit message conventions automatically checked,
a configuration file is provided for the [pre-commit](https://pre-commit.com/)
tool.
First install `pre-commit`, either from your system package manager or via
`pip`. When installing `pre-commit` via pip, it is recommended to use a
virtual environment. Other sources, such as Brew are also available, see
[the docs](https://pre-commit.com/index.html#install) for details.
```
$ apt install pre-commit # Ubuntu, Debian
$ pacman -Sy python-precommit # Arch Linux
$ brew install pre-commit # Brew
$ pip install pre-commit # PyPI
```
Next, install [uncrustify (see above)](#uncrustify). Other dependencies are managed by
pre-commit automatically, but uncrustify needs to be installed and available on
the PATH.
Then, inside the MicroPython repository, register the git hooks for pre-commit
by running:
```
$ pre-commit install --hook-type pre-commit --hook-type commit-msg
```
pre-commit will now automatically run during `git commit` for both code and
commit message formatting.
The same formatting checks will be run by CI for any Pull Request submitted to
MicroPython. Pre-commit allows you to see any failure more quickly, and in many
cases will automatically correct it in your local working copy.
To unregister `pre-commit` from your MicroPython repository, run:
```
$ pre-commit uninstall --hook-type pre-commit --hook-type commit-msg
```
Tips:
* To skip pre-commit checks on a single commit, use `git commit -n` (for
`--no-verify`).
* To ignore the pre-commit message format check temporarily, start the commit
message subject line with "WIP" (for "Work In Progress").
Running pre-commit manually
===========================
Once pre-commit is installed as per the previous section it can be manually
run against the MicroPython python codebase to update file formatting on
demand, with either:
* `pre-commit run --all-files` to fix all files in the MicroPython codebase
* `pre-commit run --file ./path/to/my/file` to fix just one file
* `pre-commit run --file ./path/to/my/folder/*` to fix just one folder
Python code conventions
=======================
Python code follows [PEP 8](https://legacy.python.org/dev/peps/pep-0008/) and
is auto-formatted using [ruff format](https://docs.astral.sh/ruff/formatter)
with a line-length of 99 characters.
Naming conventions:
- Module names are short and all lowercase; eg pyb, stm.
- Class names are CamelCase, with abbreviations all uppercase; eg I2C, not
I2c.
- Function and method names are all lowercase with words separated by
a single underscore as necessary to improve readability; eg mem_read.
- Constants are all uppercase with words separated by a single underscore;
eg GPIO_IDR.
C code conventions
==================
C code is auto-formatted using [uncrustify](https://github.com/uncrustify/uncrustify)
and the corresponding configuration file `tools/uncrustify.cfg`, with a few
minor fix-ups applied by `tools/codeformat.py`. When writing new C code please
adhere to the existing style and use `tools/codeformat.py` to check any changes.
The main conventions, and things not enforceable via the auto-formatter, are
described below.
As the MicroPython code base is over ten years old, not every source file
conforms fully to these conventions. If making small changes to existing code,
then it's usually acceptable to follow the existing code's style. New code or
major changes should follow the conventions described here.
## White space
- Expand tabs to 4 spaces.
- Don't leave trailing whitespace at the end of a line.
- For control blocks (if, for, while), put 1 space between the
keyword and the opening parenthesis.
- Put 1 space after a comma, and 1 space around operators.
## Braces
- Use braces for all blocks, even no-line and single-line pieces of
code.
- Put opening braces on the end of the line it belongs to, not on
a new line.
- For else-statements, put the else on the same line as the previous
closing brace.
## Header files
- Header files should be protected from multiple inclusion with #if
directives. See an existing header for naming convention.
## Names
- Use underscore_case, not camelCase for all names.
- Use CAPS_WITH_UNDERSCORE for enums and macros.
- When defining a type use underscore_case and put '_t' after it.
### Public names (declared in headers)
- MicroPython-specific names (especially any declared in `py/` and `extmod/`
directories) should generally start with `mp_` or `MP_`.
- Functions and variables declared in a header should generally share a longer
common prefix. Usually the prefix matches the file name (i.e. items defined in
`py/obj.c` are declared in `py/obj.h` and should be prefixed `mp_obj_`). There
are exceptions, for example where one header file contains declarations
implemented in multiple source files for expediency.
### Private names (specific to a single .c file)
- For static functions and variables exposed to Python (i.e. a static C function
that is wrapped in `MP_DEFINE_CONST_FUN_...` and attached to a module), use
the file-level shared common prefix, i.e. name them as if the function or
variable was not static.
- Other static definitions in source files (i.e. functions or variables defined
in a .c file that are only used within that .c file) don't need any prefix
(specifically: no `s_` or `_` prefix, and generally avoid adding the
file-level common prefix).
## Integer types
MicroPython runs on 16, 32, and 64 bit machines, so it's important to use the
correctly-sized (and signed) integer types. The general guidelines are:
- For most cases use mp_int_t for signed and mp_uint_t for unsigned
integer values. These are guaranteed to be machine-word sized and
therefore big enough to hold the value from a MicroPython small-int
object.
- Use size_t for things that count bytes / sizes of objects.
- You can use int/uint, but remember that they may be 16-bits wide.
- If in doubt, use mp_int_t/mp_uint_t.
## Comments
- Be concise and only write comments for things that are not obvious.
- Use `// ` prefix, NOT `/* ... */`. No extra fluff.
## Memory allocation
- Use m_new, m_renew, m_del (and friends) to allocate and free heap memory.
These macros are defined in py/misc.h.
Examples
--------
Braces, spaces, names and comments:
#define TO_ADD (123)
// This function will always recurse indefinitely and is only used to show
// coding style
int foo_function(int x, int some_value) {
if (x < some_value) {
foo(some_value, x);
} else {
foo(x + TO_ADD, some_value - 1);
}
for (int my_counter = 0; my_counter < x; ++my_counter) {
}
}
Type declarations:
typedef struct _my_struct_t {
int member;
void *data;
} my_struct_t;
Documentation conventions
=========================
MicroPython generally follows CPython in documentation process and
conventions. reStructuredText syntax is used for the documentation.
Specific conventions/suggestions:
* Use `*` markup to refer to arguments of a function, e.g.:
```
.. method:: poll.unregister(obj)
Unregister *obj* from polling.
```
* Use following syntax for cross-references/cross-links:
```
:func:`foo` - function foo in current module
:func:`module1.foo` - function foo in module "module1"
(similarly for other referent types)
:class:`Foo` - class Foo
:meth:`Class.method1` - method1 in Class
:meth:`~Class.method1` - method1 in Class, but rendered just as "method1()",
not "Class.method1()"
:meth:`title <method1>` - reference method1, but render as "title" (use only
if really needed)
:mod:`module1` - module module1
`symbol` - generic xref syntax which can replace any of the above in case
the xref is unambiguous. If there's ambiguity, there will be a warning
during docs generation, which need to be fixed using one of the syntaxes
above
```
* Cross-referencing arbitrary locations
~~~
.. _xref_target:
Normal non-indented text.
This is :ref:`reference <xref_target>`.
(If xref target is followed by section title, can be just
:ref:`xref_target`).
~~~
* Linking to external URL:
```
`link text <http://foo.com/...>`_
```
* Referencing builtin singleton objects:
```
``None``, ``True``, ``False``
```
* Use following syntax to create common description for more than one element:
~~~
.. function:: foo(x)
bar(y)
Description common to foo() and bar().
~~~
More detailed guides and quickrefs:
* http://www.sphinx-doc.org/en/stable/rest.html
* http://www.sphinx-doc.org/en/stable/markup/inline.html
* http://docutils.sourceforge.net/docs/user/rst/quickref.html

View file

@ -1,53 +0,0 @@
MicroPython Code of Conduct
===========================
The MicroPython community is made up of members from around the globe with a
diverse set of skills, personalities, and experiences. It is through these
differences that our community experiences great successes and continued growth.
When you're working with members of the community, this Code of Conduct will
help steer your interactions and keep MicroPython a positive, successful, and
growing community.
Members of the MicroPython community are open, considerate, and respectful.
Behaviours that reinforce these values contribute to a positive environment, and
include: acknowledging time and effort, being respectful of differing viewpoints
and experiences, gracefully accepting constructive criticism, and using
welcoming and inclusive language.
Every member of our community has the right to have their identity respected.
The MicroPython community is dedicated to providing a positive experience for
everyone, regardless of age, gender identity and expression, sexual orientation,
disability, physical appearance, body size, ethnicity, nationality, race, or
religion (or lack thereof), education, or socio-economic status.
Unacceptable behaviour includes: harassment, trolling, deliberate intimidation,
violent threats or language directed against another person; insults, put downs,
or jokes that are based upon stereotypes, that are exclusionary, or that hold
others up for ridicule; unwelcome sexual attention or advances; sustained
disruption of community discussions; publishing others' private information
without explicit permission; and other conduct that is inappropriate for a
professional audience including people of many different backgrounds.
This code of conduct covers all online and offline presence related to the
MicroPython project, including GitHub and the forum. If a participant engages
in behaviour that violates this code of conduct, the MicroPython team may take
action as they deem appropriate, including warning the offender or expulsion
from the community. Community members asked to stop any inappropriate behaviour
are expected to comply immediately.
Thank you for helping make this a welcoming, friendly community for everyone.
If you believe that someone is violating the code of conduct, or have any other
concerns, please contact a member of the MicroPython team by emailing
contact@micropython.org.
License
-------
This Code of Conduct is licensed under the Creative Commons
Attribution-ShareAlike 3.0 Unported License.
Attributions
------------
Based on the Python code of conduct found at https://www.python.org/psf/conduct/

135
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,135 @@
<!--
SPDX-FileCopyrightText: 2014 Coraline Ada Ehmke
SPDX-FileCopyrightText: 2019 Kattni Rembor for Adafruit Industries
SPDX-License-Identifier: CC-BY-4.0
-->
# Adafruit Community Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and leaders pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level or type of
experience, education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.
## Our Standards
We are committed to providing a friendly, safe and welcoming environment for
all.
Examples of behavior that contributes to creating a positive environment
include:
* Be kind and courteous to others
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Collaborating with other community members
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and sexual attention or advances
* The use of inappropriate images, including in a community member's avatar
* The use of inappropriate language, including in a community member's nickname
* Any spamming, flaming, baiting or other attention-stealing behavior
* Excessive or unwelcome helping; answering outside the scope of the question
asked
* Trolling, insulting/derogatory comments, and personal or political attacks
* Promoting or spreading disinformation, lies, or conspiracy theories against
a person, group, organisation, project, or community
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate
The goal of the standards and moderation guidelines outlined here is to build
and maintain a respectful community. We ask that you dont just aim to be
"technically unimpeachable", but rather try to be your best self.
We value many things beyond technical expertise, including collaboration and
supporting others within our community. Providing a positive experience for
other community members can have a much more significant impact than simply
providing the correct answer.
## Our Responsibilities
Project leaders are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project leaders have the right and responsibility to remove, edit, or
reject messages, comments, commits, code, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any community member for other behaviors that they deem
inappropriate, threatening, offensive, or harmful.
## Moderation
Instances of behaviors that violate the Adafruit Community Code of Conduct
may be reported by any member of the community. Community members are
encouraged to report these situations, including situations they witness
involving other community members.
You may report in the following ways:
In any situation, you may send an email to <support@adafruit.com>.
On the Adafruit Discord, you may send an open message from any channel
to all Community Moderators by tagging @community moderators. You may
also send an open message from any channel, or a direct message to
@kattni#1507, @tannewt#4653, @danh#1614, @cater#2442,
@sommersoft#0222, @Mr. Certainly#0472 or @Andon#8175.
Email and direct message reports will be kept confidential.
In situations on Discord where the issue is particularly egregious, possibly
illegal, requires immediate action, or violates the Discord terms of service,
you should also report the message directly to Discord.
These are the steps for upholding our communitys standards of conduct.
1. Any member of the community may report any situation that violates the
Adafruit Community Code of Conduct. All reports will be reviewed and
investigated.
2. If the behavior is an egregious violation, the community member who
committed the violation may be banned immediately, without warning.
3. Otherwise, moderators will first respond to such behavior with a warning.
4. Moderators follow a soft "three strikes" policy - the community member may
be given another chance, if they are receptive to the warning and change their
behavior.
5. If the community member is unreceptive or unreasonable when warned by a
moderator, or the warning goes unheeded, they may be banned for a first or
second offense. Repeated offenses will result in the community member being
banned.
## Scope
This Code of Conduct and the enforcement policies listed above apply to all
Adafruit Community venues. This includes but is not limited to any community
spaces (both public and private), the entire Adafruit Discord server, and
Adafruit GitHub repositories. Examples of Adafruit Community spaces include
but are not limited to meet-ups, audio chats on the Adafruit Discord, or
interaction at a conference.
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. As a community
member, you are representing our community, and are expected to behave
accordingly.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.4, available at
<https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>,
and the [Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html).
For other projects adopting the Adafruit Community Code of
Conduct, please contact the maintainers of those projects for enforcement.
If you wish to use this code of conduct for your own project, consider
explicitly mentioning your moderation policy or making a copy with your
own moderation policy so as to avoid confusion.

View file

@ -1,8 +1,57 @@
When reporting an issue and especially submitting a pull request, please
make sure that you are acquainted with Contributor Guidelines:
<!--
SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
https://github.com/micropython/micropython/wiki/ContributorGuidelines
SPDX-License-Identifier: MIT
-->
as well as the Code Conventions, which includes details of how to commit:
# Contributing
Please note that this project is released with a
[Contributor Code of Conduct](CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms. Participation
covers any forum used to converse about CircuitPython including unofficial and official spaces. Failure to do
so will result in corrective actions such as time out or ban from the project.
https://github.com/micropython/micropython/blob/master/CODECONVENTIONS.md
## Licensing
By contributing to this repository you are certifying that you have all necessary
permissions to license the code under an MIT License. You still retain the
copyright but are granting many permissions under the MIT License.
If you have an employment contract with your employer please make sure that they
don't automatically own your work product. Make sure to get any necessary approvals
before contributing. Another term for this contribution off-hours is moonlighting.
## Ways to contribute
As CircuitPython grows, there are more and more ways to contribute. Here are some ideas:
* Build a project with CircuitPython and share how to do it online.
* Test the latest libraries and CircuitPython versions with your projects and file issues for any bugs you find.
* Contribute Python code to CircuitPython libraries that support new devices or features of an existing device.
* Contribute C code to CircuitPython which fixes an open issue or adds a new feature.
## Getting started with C
CircuitPython developer Dan Halbert (@dhalbert) has written up build instructions using native build
tools [here](https://learn.adafruit.com/building-circuitpython).
For SAMD21 debugging workflow tips check out [this learn guide](https://learn.adafruit.com/debugging-the-samd21-with-gdb) from Scott (@tannewt).
## Developer contacts
Scott Shawcroft ([@tannewt](https://github.com/tannewt)) is the lead developer of CircuitPython
and is sponsored by [Adafruit Industries LLC](https://adafruit.com). Scott is usually available
during US West Coast working hours. Dan Halbert ([@dhalbert](https://github.com/dhalbert)) and
Kattni Rembor ([@kattni](https://github.com/kattni)) are also sponsored by [Adafruit Industries
LLC](https://adafruit.com) and are usually available during US East Coast daytime hours including
some weekends.
They are all reachable on [Discord](https://adafru.it/discord), GitHub issues and the [Adafruit
support forum](https://forums.adafruit.com/viewforum.php?f=60).
## Code guidelines
We aim to keep our code and commit style compatible with MicroPython upstream.
Please review their
[code conventions](https://github.com/micropython/micropython/blob/master/CODECONVENTIONS.md) to do so.
Familiarity with their [design philosophy](https://github.com/micropython/micropython/wiki/ContributorGuidelines)
is also useful though not always applicable to CircuitPython.
Furthermore, CircuitPython has a
[design guide](https://circuitpython.readthedocs.io/en/latest/docs/design_guide.html)
that covers a variety of different topics. Please read it as well.

69
LICENSE
View file

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2013-2025 Damien P. George
Copyright (c) 2013-2019 Damien P. George
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -19,70 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
--------------------------------------------------------------------------------
Unless specified otherwise (see below), the above license and copyright applies
to all files in this repository.
Individual files may include additional copyright holders.
The various ports of MicroPython may include third-party software that is
licensed under different terms. These licenses are summarised in the tree
below, please refer to these files and directories for further license and
copyright information. Note that (L)GPL-licensed code listed below is only
used during the build process and is not part of the compiled source code.
/ (MIT)
/drivers
/cc3100 (BSD-3-clause)
/lib
/asf4 (Apache-2.0)
/axtls (BSD-3-clause)
/config
/scripts
/config (GPL-2.0-or-later)
/Rules.mak (GPL-2.0)
/berkeley-db-1xx (BSD-4-clause)
/btstack (See btstack/LICENSE)
/cmsis (BSD-3-clause)
/crypto-algorithms (NONE)
/libhydrogen (ISC)
/libmetal (BSD-3-clause)
/littlefs (BSD-3-clause)
/lwip (BSD-3-clause)
/mynewt-nimble (Apache-2.0)
/nrfx (BSD-3-clause)
/nxp_driver (BSD-3-Clause)
/oofatfs (BSD-1-clause)
/open-amp (BSD-3-clause)
/pico-sdk (BSD-3-clause)
/re15 (BSD-3-clause)
/stm32lib (BSD-3-clause)
/tinyusb (MIT)
/uzlib (Zlib)
/wiznet5k (MIT)
/logo (uses OFL-1.1)
/ports
/cc3200
/hal (BSD-3-clause)
/simplelink (BSD-3-clause)
/FreeRTOS (GPL-2.0 with FreeRTOS exception)
/esp32
/ppp_set_auth.* (Apache-2.0)
/rp2
/mutex_extra.c (BSD-3-clause)
/clocks_extra.c (BSD-3-clause)
/stm32
/usbd*.c (MCD-ST Liberty SW License Agreement V2)
/stm32_it.* (MIT + BSD-3-clause)
/system_stm32*.c (MIT + BSD-3-clause)
/boards
/startup_stm32*.s (BSD-3-clause)
/*/stm32*.h (BSD-3-clause)
/usbdev (MCD-ST Liberty SW License Agreement V2)
/usbhost (MCD-ST Liberty SW License Agreement V2)
/zephyr
/src (Apache-2.0)
/tools
/dfu.py (LGPL-3.0-only)

26
LICENSES/BSD-3-Clause.txt Normal file
View file

@ -0,0 +1,26 @@
Copyright (c) <year> <owner>. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

324
LICENSES/CC-BY-4.0.txt Normal file
View file

@ -0,0 +1,324 @@
Creative Commons Attribution 4.0 International Creative Commons Corporation
("Creative Commons") is not a law firm and does not provide legal services
or legal advice. Distribution of Creative Commons public licenses does not
create a lawyer-client or other relationship. Creative Commons makes its licenses
and related information available on an "as-is" basis. Creative Commons gives
no warranties regarding its licenses, any material licensed under their terms
and conditions, or any related information. Creative Commons disclaims all
liability for damages resulting from their use to the fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and conditions
that creators and other rights holders may use to share original works of
authorship and other material subject to copyright and certain other rights
specified in the public license below. The following considerations are for
informational purposes only, are not exhaustive, and do not form part of our
licenses.
Considerations for licensors: Our public licenses are intended for use by
those authorized to give the public permission to use material in ways otherwise
restricted by copyright and certain other rights. Our licenses are irrevocable.
Licensors should read and understand the terms and conditions of the license
they choose before applying it. Licensors should also secure all rights necessary
before applying our licenses so that the public can reuse the material as
expected. Licensors should clearly mark any material not subject to the license.
This includes other CC-licensed material, or material used under an exception
or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public licenses, a licensor
grants the public permission to use the licensed material under specified
terms and conditions. If the licensor's permission is not necessary for any
reasonfor example, because of any applicable exception or limitation to copyrightthen
that use is not regulated by the license. Our licenses grant only permissions
under copyright and certain other rights that a licensor has authority to
grant. Use of the licensed material may still be restricted for other reasons,
including because others have copyright or other rights in the material. A
licensor may make special requests, such as asking that all changes be marked
or described. Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations for the public
: wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution
4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to
be bound by the terms and conditions of this Creative Commons Attribution
4.0 International Public License ("Public License"). To the extent this Public
License may be interpreted as a contract, You are granted the Licensed Rights
in consideration of Your acceptance of these terms and conditions, and the
Licensor grants You such rights in consideration of benefits the Licensor
receives from making the Licensed Material available under these terms and
conditions.
Section 1 Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights
that is derived from or based upon the Licensed Material and in which the
Licensed Material is translated, altered, arranged, transformed, or otherwise
modified in a manner requiring permission under the Copyright and Similar
Rights held by the Licensor. For purposes of this Public License, where the
Licensed Material is a musical work, performance, or sound recording, Adapted
Material is always produced where the Licensed Material is synched in timed
relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar
Rights in Your contributions to Adapted Material in accordance with the terms
and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights closely
related to copyright including, without limitation, performance, broadcast,
sound recording, and Sui Generis Database Rights, without regard to how the
rights are labeled or categorized. For purposes of this Public License, the
rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
d. Effective Technological Measures means those measures that, in the absence
of proper authority, may not be circumvented under laws fulfilling obligations
under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996,
and/or similar international agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or any other
exception or limitation to Copyright and Similar Rights that applies to Your
use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database, or other
material to which the Licensor applied this Public License.
g. Licensed Rights means the rights granted to You subject to the terms and
conditions of this Public License, which are limited to all Copyright and
Similar Rights that apply to Your use of the Licensed Material and that the
Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights under this
Public License.
i. Share means to provide material to the public by any means or process that
requires permission under the Licensed Rights, such as reproduction, public
display, public performance, distribution, dissemination, communication, or
importation, and to make material available to the public including in ways
that members of the public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright resulting
from Directive 96/9/EC of the European Parliament and of the Council of 11
March 1996 on the legal protection of databases, as amended and/or succeeded,
as well as other essentially equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights under
this Public License. Your has a corresponding meaning.
Section 2 Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License, the Licensor
hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive,
irrevocable license to exercise the Licensed Rights in the Licensed Material
to:
A. reproduce and Share the Licensed Material, in whole or in part; and
B. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions
and Limitations apply to Your use, this Public License does not apply, and
You do not need to comply with its terms and conditions.
3. Term. The term of this Public License is specified in Section 6(a).
4. Media and formats; technical modifications allowed. The Licensor authorizes
You to exercise the Licensed Rights in all media and formats whether now known
or hereafter created, and to make technical modifications necessary to do
so. The Licensor waives and/or agrees not to assert any right or authority
to forbid You from making technical modifications necessary to exercise the
Licensed Rights, including technical modifications necessary to circumvent
Effective Technological Measures. For purposes of this Public License, simply
making modifications authorized by this Section 2(a)(4) never produces Adapted
Material.
5. Downstream recipients.
A. Offer from the Licensor Licensed Material. Every recipient of the Licensed
Material automatically receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this Public License.
B. No downstream restrictions. You may not offer or impose any additional
or different terms or conditions on, or apply any Effective Technological
Measures to, the Licensed Material if doing so restricts exercise of the Licensed
Rights by any recipient of the Licensed Material.
6. No endorsement. Nothing in this Public License constitutes or may be construed
as permission to assert or imply that You are, or that Your use of the Licensed
Material is, connected with, or sponsored, endorsed, or granted official status
by, the Licensor or others designated to receive attribution as provided in
Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not licensed under this
Public License, nor are publicity, privacy, and/or other similar personality
rights; however, to the extent possible, the Licensor waives and/or agrees
not to assert any such rights held by the Licensor to the limited extent necessary
to allow You to exercise the Licensed Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this Public License.
3. To the extent possible, the Licensor waives any right to collect royalties
from You for the exercise of the Licensed Rights, whether directly or through
a collecting society under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly reserves any right
to collect such royalties.
Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following
conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed
Material:
i. identification of the creator(s) of the Licensed Material and any others
designated to receive attribution, in any reasonable manner requested by the
Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication
of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and
include the text of, or the URI or hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner
based on the medium, means, and context in which You Share the Licensed Material.
For example, it may be reasonable to satisfy the conditions by providing a
URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required
by Section 3(a)(1)(A) to the extent reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's License You apply
must not prevent recipients of the Adapted Material from complying with this
Public License.
Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to
Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
reuse, reproduce, and Share all or a substantial portion of the contents of
the database;
b. if You include all or a substantial portion of the database contents in
a database in which You have Sui Generis Database Rights, then the database
in which You have Sui Generis Database Rights (but not its individual contents)
is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share all or
a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace
Your obligations under this Public License where the Licensed Rights include
other Copyright and Similar Rights.
Section 5 Disclaimer of Warranties and Limitation of Liability.
a. Unless otherwise separately undertaken by the Licensor, to the extent possible,
the Licensor offers the Licensed Material as-is and as-available, and makes
no representations or warranties of any kind concerning the Licensed Material,
whether express, implied, statutory, or other. This includes, without limitation,
warranties of title, merchantability, fitness for a particular purpose, non-infringement,
absence of latent or other defects, accuracy, or the presence or absence of
errors, whether or not known or discoverable. Where disclaimers of warranties
are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You
on any legal theory (including, without limitation, negligence) or otherwise
for any direct, special, indirect, incidental, consequential, punitive, exemplary,
or other losses, costs, expenses, or damages arising out of this Public License
or use of the Licensed Material, even if the Licensor has been advised of
the possibility of such losses, costs, expenses, or damages. Where a limitation
of liability is not allowed in full or in part, this limitation may not apply
to You.
c. The disclaimer of warranties and limitation of liability provided above
shall be interpreted in a manner that, to the extent possible, most closely
approximates an absolute disclaimer and waiver of all liability.
Section 6 Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights
licensed here. However, if You fail to comply with this Public License, then
Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section
6(a), it reinstates:
1. automatically as of the date the violation is cured, provided it is cured
within 30 days of Your discovery of the violation; or
2. upon express reinstatement by the Licensor.
c. For the avoidance of doubt, this Section 6(b) does not affect any right
the Licensor may have to seek remedies for Your violations of this Public
License.
d. For the avoidance of doubt, the Licensor may also offer the Licensed Material
under separate terms or conditions or stop distributing the Licensed Material
at any time; however, doing so will not terminate this Public License.
e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or
conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed
Material not stated herein are separate from and independent of the terms
and conditions of this Public License.
Section 8 Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not
be interpreted to, reduce, limit, restrict, or impose conditions on any use
of the Licensed Material that could lawfully be made without permission under
this Public License.
b. To the extent possible, if any provision of this Public License is deemed
unenforceable, it shall be automatically reformed to the minimum extent necessary
to make it enforceable. If the provision cannot be reformed, it shall be severed
from this Public License without affecting the enforceability of the remaining
terms and conditions.
c. No term or condition of this Public License will be waived and no failure
to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation
upon, or waiver of, any privileges and immunities that apply to the Licensor
or You, including from the legal processes of any jurisdiction or authority.
Creative Commons is not a party to its public licenses. Notwithstanding, Creative
Commons may elect to apply one of its public licenses to material it publishes
and in those instances will be considered the "Licensor." The text of the
Creative Commons public licenses is dedicated to the public domain under the
CC0 Public Domain Dedication. Except for the limited purpose of indicating
that material is shared under a Creative Commons public license or as otherwise
permitted by the Creative Commons policies published at creativecommons.org/policies,
Creative Commons does not authorize the use of the trademark "Creative Commons"
or any other trademark or logo of Creative Commons without its prior written
consent including, without limitation, in connection with any unauthorized
modifications to any of its public licenses or any other arrangements, understandings,
or agreements concerning use of licensed material. For the avoidance of doubt,
this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.

19
LICENSES/MIT.txt Normal file
View file

@ -0,0 +1,19 @@
MIT License Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

90
LICENSES/OFL-1.1.txt Normal file
View file

@ -0,0 +1,90 @@
Copyright (c) <dates>, <Copyright Holder> (<URL|email>),
with Reserved Font Name <Reserved Font Name>. This Font Software is licensed
under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
SIL OPEN FONT LICENSE
Version 1.1 - 26 February 2007
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development
of collaborative font projects, to support the font creation efforts of academic
and linguistic communities, and to provide a free and open framework in which
fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed
freely as long as they are not sold by themselves. The fonts, including any
derivative works, can be bundled, embedded, redistributed and/or sold with
any software provided that any reserved names are not used by derivative works.
The fonts and derivatives, however, cannot be released under any other type
of license. The requirement for fonts to remain under this license does not
apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s)
under this license and clearly marked as such. This may include source files,
build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright
statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or
substituting — in part or in whole — any of the components of the Original
Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or
other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy
of the Font Software, to use, study, copy, merge, embed, modify, redistribute,
and sell modified and unmodified copies of the Font Software, subject to the
following conditions:
1) Neither the Font Software nor any of its individual components, in Original
or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled, redistributed
and/or sold with any software, provided that each copy contains the above
copyright notice and this license. These can be included either as stand-alone
text files, human-readable headers or in the appropriate machine-readable
metadata fields within text or binary files as long as those fields can be
easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font Name(s)
unless explicit written permission is granted by the corresponding Copyright
Holder. This restriction only applies to the primary font name as presented
to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software
shall not be used to promote, endorse or advertise any Modified Version, except
to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s)
or with their explicit written permission.
5) The Font Software, modified or unmodified, in part or in whole, must be
distributed entirely under this license, and must not be distributed under
any other license. The requirement for fonts to remain under this license
does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL,
INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

20
LICENSES/Unlicense.txt Normal file
View file

@ -0,0 +1,20 @@
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute
this software, either in source code form or as a compiled binary, for any
purpose, commercial or non-commercial, and by any means.
In jurisdictions that recognize copyright laws, the author or authors of this
software dedicate any and all copyright interest in the software to the public
domain. We make this dedication for the benefit of the public at large and
to the detriment of our heirs and successors. We intend this dedication to
be an overt act of relinquishment in perpetuity of all present and future
rights to this software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information,
please refer to <https://unlicense.org/>

314
Makefile Normal file
View file

@ -0,0 +1,314 @@
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
# Top-level Makefile for documentation builds and miscellaneous tasks.
#
# You can set these variables from the command line.
PYTHON = python3
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
# path to build the generated docs
BUILDDIR = _build
# path to source files to process
SOURCEDIR = .
# path to conf.py
CONFDIR = .
# Run "make FORCE= ..." to avoid rebuilding from scratch (and risk
# producing incorrect docs).
FORCE = -E
VERBOSE = -v
# path to generated type stubs
STUBDIR = circuitpython-stubs
# Run "make VALIDATE= stubs" to avoid validating generated stub files
VALIDATE = -v
# path to pypi source distributions
DISTDIR = dist
# Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the
# full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the
# executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
BASEOPTS = -c $(CONFDIR) $(PAPEROPT_$(PAPER)) $(FORCE) $(VERBOSE) $(SPHINXOPTS) $(SOURCEDIR)
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(BASEOPTS)
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(BASEOPTS)
TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/cxd56 ports/esp32s2 ports/mimxrt10xx ports/nrf ports/raspberrypi ports/stm py shared-bindings shared-module supervisor
# Paths to exclude from TRANSLATE_SOURCES
# Each must be preceded by "-path"; if any wildcards, enclose in quotes.
# Separate by "-o" (Find's "or" operand)
TRANSLATE_SOURCES_EXC = -path "ports/*/build-*" \
-o -path "ports/*/build" \
-o -path ports/atmel-samd/asf4 \
-o -path ports/cxd56/spresense-exported-sdk \
-o -path ports/esp32s2/esp-idf \
-o -path ports/mimxrt10xx/sdk \
-o -path ports/raspberrypi/sdk \
-o -path ports/stm/st_driver \
-o -path lib/tinyusb \
-o -path lib/lwip \
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext stubs
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
rm -rf $(BUILDDIR)/*
rm -rf autoapi
rm -rf $(STUBDIR) $(DISTDIR) *.egg-info
html: stubs
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/MicroPython.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/MicroPython.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/MicroPython"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/MicroPython"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
# seems to be malfunctioning
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
# seems to be malfunctioning
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
# seems to be malfunctioning
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
# seems to be malfunctioning
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
# phony target so we always run
.PHONY: all-source
all-source:
locale/circuitpython.pot: all-source
find $(TRANSLATE_SOURCES) -type d \( $(TRANSLATE_SOURCES_EXC) \) -prune -o -type f \( -iname "*.c" -o -iname "*.h" \) -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o - | sed -e '/"POT-Creation-Date: /d' > $@
# Historically, `make translate` updated the .pot file and ran msgmerge.
# However, this was a frequent source of merge conflicts. Weblate can perform
# msgmerge, so make translate merely update the translation template file.
.PHONY: translate
translate: locale/circuitpython.pot
# Note that normally we rely on weblate to perform msgmerge. This reduces the
# chance of a merge conflict between developer changes (that only add and
# remove source strings) and weblate changes (that only add and remove
# translated strings from po files). However, in case this is legitimately
# needed we preserve a rule to do it.
.PHONY: msgmerge
msgmerge:
for po in $(shell ls locale/*.po); do msgmerge -U $$po -s --no-fuzzy-matching --add-location=file locale/circuitpython.pot; done
merge-translate:
git merge HEAD 1>&2 2> /dev/null; test $$? -eq 128
rm locale/*~ || true
git checkout --theirs -- locale/*
make translate
.PHONY: check-translate
check-translate:
find $(TRANSLATE_SOURCES) -type d \( $(TRANSLATE_SOURCES_EXC) \) -prune -o -type f \( -iname "*.c" -o -iname "*.h" \) -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o circuitpython.pot.tmp -p locale
$(PYTHON) tools/check_translations.py locale/circuitpython.pot.tmp locale/circuitpython.pot; status=$$?; rm -f locale/circuitpython.pot.tmp; exit $$status
stubs:
@mkdir -p circuitpython-stubs
@$(PYTHON) tools/extract_pyi.py shared-bindings/ $(STUBDIR)
@$(PYTHON) tools/extract_pyi.py extmod/ulab/code/ $(STUBDIR)/ulab
@$(PYTHON) tools/extract_pyi.py ports/atmel-samd/bindings $(STUBDIR)
@$(PYTHON) tools/extract_pyi.py ports/raspberrypi/bindings $(STUBDIR)
@$(PYTHON) setup.py -q sdist
.PHONY: check-stubs
check-stubs: stubs
MYPYPATH=$(STUBDIR) mypy --strict $(STUBDIR)
update-frozen-libraries:
@echo "Updating all frozen libraries to latest tagged version."
cd frozen; for library in *; do cd $$library; ../../tools/git-checkout-latest-tag.sh; cd ..; done
one-of-each: samd21 litex mimxrt10xx nrf stm
samd21:
$(MAKE) -C ports/atmel-samd BOARD=trinket_m0
samd51:
$(MAKE) -C ports/atmel-samd BOARD=feather_m4_express
esp32s2:
$(MAKE) -C ports/esp32s2 BOARD=espressif_saola_1_wroom
litex:
$(MAKE) -C ports/litex BOARD=fomu
mimxrt10xx:
$(MAKE) -C ports/mimxrt10xx BOARD=feather_mimxrt1011
nrf:
$(MAKE) -C ports/nrf BOARD=feather_nrf52840_express
stm:
$(MAKE) -C ports/stm BOARD=feather_stm32f405_express
clean-one-of-each: clean-samd21 clean-samd51 clean-esp32s2 clean-litex clean-mimxrt10xx clean-nrf clean-stm
clean-samd21:
$(MAKE) -C ports/atmel-samd BOARD=trinket_m0 clean
clean-samd51:
$(MAKE) -C ports/atmel-samd BOARD=feather_m4_express clean
clean-esp32s2:
$(MAKE) -C ports/esp32s2 BOARD=espressif_saola_1_wroom clean
clean-litex:
$(MAKE) -C ports/litex BOARD=fomu clean
clean-mimxrt10xx:
$(MAKE) -C ports/mimxrt10xx BOARD=feather_mimxrt1011 clean
clean-nrf:
$(MAKE) -C ports/nrf BOARD=feather_nrf52840_express clean
clean-stm:
$(MAKE) -C ports/stm BOARD=feather_stm32f405_express clean

147
README.md
View file

@ -1,147 +0,0 @@
[![Unix CI badge](https://github.com/micropython/micropython/actions/workflows/ports_unix.yml/badge.svg)](https://github.com/micropython/micropython/actions?query=branch%3Amaster+event%3Apush) [![STM32 CI badge](https://github.com/micropython/micropython/actions/workflows/ports_stm32.yml/badge.svg)](https://github.com/micropython/micropython/actions?query=branch%3Amaster+event%3Apush) [![Docs CI badge](https://github.com/micropython/micropython/actions/workflows/docs.yml/badge.svg)](https://docs.micropython.org/) [![codecov](https://codecov.io/gh/micropython/micropython/branch/master/graph/badge.svg?token=I92PfD05sD)](https://codecov.io/gh/micropython/micropython)
The MicroPython project
=======================
<p align="center">
<img src="https://raw.githubusercontent.com/micropython/micropython/master/logo/upython-with-micro.jpg" alt="MicroPython Logo"/>
</p>
This is the MicroPython project, which aims to put an implementation
of Python 3.x on microcontrollers and small embedded systems.
You can find the official website at [micropython.org](http://www.micropython.org).
WARNING: this project is in beta stage and is subject to changes of the
code-base, including project-wide name changes and API changes.
MicroPython implements the entire Python 3.4 syntax (including exceptions,
`with`, `yield from`, etc., and additionally `async`/`await` keywords from
Python 3.5 and some select features from later versions). The following core
datatypes are provided: `str`(including basic Unicode support), `bytes`,
`bytearray`, `tuple`, `list`, `dict`, `set`, `frozenset`, `array.array`,
`collections.namedtuple`, classes and instances. Builtin modules include
`os`, `sys`, `time`, `re`, and `struct`, etc. Some ports have support for
`_thread` module (multithreading), `socket` and `ssl` for networking, and
`asyncio`. Note that only a subset of Python 3 functionality is implemented
for the data types and modules.
MicroPython can execute scripts in textual source form (.py files) or from
precompiled bytecode (.mpy files), in both cases either from an on-device
filesystem or "frozen" into the MicroPython executable.
MicroPython also provides a set of MicroPython-specific modules to access
hardware-specific functionality and peripherals such as GPIO, Timers, ADC,
DAC, PWM, SPI, I2C, CAN, Bluetooth, and USB.
Getting started
---------------
See the [online documentation](https://docs.micropython.org/) for the API
reference and information about using MicroPython and information about how
it is implemented.
We use [GitHub Discussions](https://github.com/micropython/micropython/discussions)
as our forum, and [Discord](https://discord.gg/RB8HZSAExQ) for chat. These
are great places to ask questions and advice from the community or to discuss your
MicroPython-based projects.
For bugs and feature requests, please [raise an issue](https://github.com/micropython/micropython/issues/new/choose)
and follow the templates there.
For information about the [MicroPython pyboard](https://store.micropython.org/pyb-features),
the officially supported board from the
[original Kickstarter campaign](https://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers),
see the [schematics and pinouts](http://github.com/micropython/pyboard) and
[documentation](https://docs.micropython.org/en/latest/pyboard/quickref.html).
Contributing
------------
MicroPython is an open-source project and welcomes contributions. To be
productive, please be sure to follow the
[Contributors' Guidelines](https://github.com/micropython/micropython/wiki/ContributorGuidelines)
and the [Code Conventions](https://github.com/micropython/micropython/blob/master/CODECONVENTIONS.md).
Note that MicroPython is licenced under the MIT license, and all contributions
should follow this license.
About this repository
---------------------
This repository contains the following components:
- [py/](py/) -- the core Python implementation, including compiler, runtime, and
core library.
- [mpy-cross/](mpy-cross/) -- the MicroPython cross-compiler which is used to turn scripts
into precompiled bytecode.
- [ports/](ports/) -- platform-specific code for the various ports and architectures that MicroPython runs on.
- [lib/](lib/) -- submodules for external dependencies.
- [tests/](tests/) -- test framework and test scripts.
- [docs/](docs/) -- user documentation in Sphinx reStructuredText format. This is used to generate the [online documentation](http://docs.micropython.org).
- [extmod/](extmod/) -- additional (non-core) modules implemented in C.
- [tools/](tools/) -- various tools, including the pyboard.py module.
- [examples/](examples/) -- a few example Python scripts.
"make" is used to build the components, or "gmake" on BSD-based systems.
You will also need bash, gcc, and Python 3.3+ available as the command `python3`
(if your system only has Python 2.7 then invoke make with the additional option
`PYTHON=python2`). Some ports (rp2 and esp32) additionally use CMake.
Supported platforms & architectures
-----------------------------------
MicroPython runs on a wide range of microcontrollers, as well as on Unix-like
(including Linux, BSD, macOS, WSL) and Windows systems.
Microcontroller targets can be as small as 256kiB flash + 16kiB RAM, although
devices with at least 512kiB flash + 128kiB RAM allow a much more
full-featured experience.
The [Unix](ports/unix) and [Windows](ports/windows) ports allow both
development and testing of MicroPython itself, as well as providing
lightweight alternative to CPython on these platforms (in particular on
embedded Linux systems).
The ["minimal"](ports/minimal) port provides an example of a very basic
MicroPython port and can be compiled as both a standalone Linux binary as
well as for ARM Cortex M4. Start with this if you want to port MicroPython to
another microcontroller. Additionally the ["bare-arm"](ports/bare-arm) port
is an example of the absolute minimum configuration, and is used to keep
track of the code size of the core runtime and VM.
In addition, the following ports are provided in this repository:
- [cc3200](ports/cc3200) -- Texas Instruments CC3200 (including PyCom WiPy).
- [esp32](ports/esp32) -- Espressif ESP32 SoC (including ESP32S2, ESP32S3, ESP32C3, ESP32C6).
- [esp8266](ports/esp8266) -- Espressif ESP8266 SoC.
- [mimxrt](ports/mimxrt) -- NXP m.iMX RT (including Teensy 4.x).
- [nrf](ports/nrf) -- Nordic Semiconductor nRF51 and nRF52.
- [pic16bit](ports/pic16bit) -- Microchip PIC 16-bit.
- [powerpc](ports/powerpc) -- IBM PowerPC (including Microwatt)
- [qemu](ports/qemu) -- QEMU-based emulated target (for testing)
- [renesas-ra](ports/renesas-ra) -- Renesas RA family.
- [rp2](ports/rp2) -- Raspberry Pi RP2040 (including Pico and Pico W).
- [samd](ports/samd) -- Microchip (formerly Atmel) SAMD21 and SAMD51.
- [stm32](ports/stm32) -- STMicroelectronics STM32 family (including F0, F4, F7, G0, G4, H7, L0, L4, WB)
- [webassembly](ports/webassembly) -- Emscripten port targeting browsers and NodeJS.
- [zephyr](ports/zephyr) -- Zephyr RTOS.
The MicroPython cross-compiler, mpy-cross
-----------------------------------------
Most ports require the [MicroPython cross-compiler](mpy-cross) to be built
first. This program, called mpy-cross, is used to pre-compile Python scripts
to .mpy files which can then be included (frozen) into the
firmware/executable for a port. To build mpy-cross use:
$ cd mpy-cross
$ make
External dependencies
---------------------
The core MicroPython VM and runtime has no external dependencies, but a given
port might depend on third-party drivers or vendor HALs. This repository
includes [several submodules](lib/) linking to these external dependencies.
Before compiling a given port, use
$ cd ports/name
$ make submodules
to ensure that all required submodules are initialised.

237
README.rst Normal file
View file

@ -0,0 +1,237 @@
CircuitPython
=============
.. image:: https://s3.amazonaws.com/adafruit-circuit-python/CircuitPython_Repo_header_logo.png
|Build Status| |Doc Status| |License| |Discord| |Weblate|
`circuitpython.org <https://circuitpython.org>`__ \| `Get CircuitPython <#get-circuitpython>`__ \|
`Documentation <#documentation>`__ \| `Contributing <#contributing>`__ \|
`Branding <#branding>`__ \| `Differences from Micropython <#differences-from-micropython>`__ \|
`Project Structure <#project-structure>`__
**CircuitPython** is a *beginner friendly*, open source version of Python for tiny, inexpensive
computers called microcontrollers. Microcontrollers are the brains of many electronics including a
wide variety of development boards used to build hobby projects and prototypes. CircuitPython in
electronics is one of the best ways to learn to code because it connects code to reality. Simply
install CircuitPython on a supported board via drag and drop and then edit a ``code.py`` file on
the CIRCUITPY drive. The code will automatically reload. No software installs are needed besides a
text editor (we recommend `Mu <https://codewith.mu/>`_ for beginners.)
CircuitPython features unified Python core APIs and a growing list of 150+ device libraries and
drivers that work with it. These libraries also work on single board computers with regular
Python via the `Adafruit Blinka Library <https://github.com/adafruit/Adafruit_Blinka>`_.
CircuitPython is based on `MicroPython <https://micropython.org>`_. See
`below <#differences-from-micropython>`_ for differences. CircuitPython development is sponsored by
`Adafruit <https://adafruit.com>`_ and is available on their educational development boards. Please
support both MicroPython and Adafruit.
Get CircuitPython
------------------
Official binaries for all supported boards are available through
`circuitpython.org/downloads <https://circuitpython.org/downloads>`_. The site includes stable, unstable and
continuous builds. Full release notes and assets are available through
`GitHub releases <https://github.com/adafruit/circuitpython/releases>`_ as well.
Documentation
-------------
Guides and videos are available through the `Adafruit Learning
System <https://learn.adafruit.com/>`__ under the `CircuitPython
category <https://learn.adafruit.com/category/circuitpython>`__. An API
reference is also available on `Read the Docs
<http://circuitpython.readthedocs.io/en/latest/?>`__. A collection of awesome
resources can be found at `Awesome CircuitPython <https://github.com/adafruit/awesome-circuitpython>`__.
Specifically useful documentation when starting out:
- `Welcome to CircuitPython <https://learn.adafruit.com/welcome-to-circuitpython>`__
- `CircuitPython Essentials <https://learn.adafruit.com/circuitpython-essentials>`__
- `Example Code <https://github.com/adafruit/Adafruit_Learning_System_Guides/tree/master/CircuitPython_Essentials>`__
Code Search
------------
GitHub doesn't currently support code search on forks. Therefore, CircuitPython doesn't have code search through GitHub because it is a fork of MicroPython. Luckily, `SourceGraph <https://sourcegraph.com/github.com/adafruit/circuitpython>`_ has free code search for public repos like CircuitPython. So, visit `sourcegraph.com/github.com/adafruit/circuitpython <https://sourcegraph.com/github.com/adafruit/circuitpython>`_ to search the CircuitPython codebase online.
Contributing
------------
See
`CONTRIBUTING.md <https://github.com/adafruit/circuitpython/blob/main/CONTRIBUTING.md>`__
for full guidelines but please be aware that by contributing to this
project you are agreeing to the `Code of
Conduct <https://github.com/adafruit/circuitpython/blob/main/CODE_OF_CONDUCT.md>`__.
Contributors who follow the `Code of
Conduct <https://github.com/adafruit/circuitpython/blob/main/CODE_OF_CONDUCT.md>`__
are welcome to submit pull requests and they will be promptly reviewed
by project admins. Please join the
`Discord <https://adafru.it/discord>`__ too.
Branding
------------
While we are happy to see CircuitPython forked and modified, we'd appreciate it if forked releases
not use the name "CircuitPython" or the Blinka logo. "CircuitPython" means something special to
us and those who learn about it. As a result, we'd like to make sure products referring to it meet a
common set of requirements.
If you'd like to use the term "CircuitPython" and Blinka for your product here is what we ask:
* Your product is supported by the primary
`"adafruit/circuitpython" <https://github.com/adafruit/circuitpython>`_ repo. This way we can
update any custom code as we update the CircuitPython internals.
* Your product is listed on `circuitpython.org <https://circuitpython.org>`__ (source
`here <https://github.com/adafruit/circuitpython-org/>`_). This is to ensure that a user of your
product can always download the latest version of CircuitPython from the standard place.
* Your product has a user accessible USB plug which appears as a CIRCUITPY drive when plugged in.
If you choose not to meet these requirements, then we ask you call your version of CircuitPython
something else (for example, SuperDuperPython) and not use the Blinka logo. You can say it is
"CircuitPython-compatible" if most CircuitPython drivers will work with it.
--------------
Differences from `MicroPython <https://github.com/micropython/micropython>`__
-----------------------------------------------------------------------------
CircuitPython:
- Supports native USB on all boards, allowing file editing without special tools.
- Floats (aka decimals) are enabled for all builds.
- Error messages are translated into 10+ languages.
- Does not support concurrency within Python (including interrupts and threading). Some concurrency
is achieved with native modules for tasks that require it such as audio file playback.
Behavior
~~~~~~~~
- The order that files are run and the state that is shared between
them. CircuitPython's goal is to clarify the role of each file and
make each file independent from each other.
- ``boot.py`` (or ``settings.py``) runs only once on start up before
USB is initialized. This lays the ground work for configuring USB at
startup rather than it being fixed. Since serial is not available,
output is written to ``boot_out.txt``.
- ``code.py`` (or ``main.py``) is run after every reload until it
finishes or is interrupted. After it is done running, the vm and
hardware is reinitialized. **This means you cannot read state from**
``code.py`` **in the REPL anymore, as the REPL is a fresh vm.** CircuitPython's goal for this
change includes reducing confusion about pins and memory being used.
- After the main code is finished the REPL can be entered by pressing any key.
- Autoreload state will be maintained across reload.
- Adds a safe mode that does not run user code after a hard crash or
brown out. The hope is that this will make it easier to fix code that
causes nasty crashes by making it available through mass storage
after the crash. A reset (the button) is needed after it's fixed to
get back into normal mode.
- RGB status LED indicating CircuitPython state, and errors through a sequence of colored flashes.
- Re-runs ``code.py`` or other main file after file system writes over USB mass storage. (Disable with
``supervisor.disable_autoreload()``)
- Autoreload is disabled while the REPL is active.
- Main is one of these: ``code.txt``, ``code.py``, ``main.py``,
``main.txt``
- Boot is one of these: ``settings.txt``, ``settings.py``, ``boot.py``,
``boot.txt``
API
~~~
- Unified hardware APIs. Documented on
`ReadTheDocs <https://circuitpython.readthedocs.io/en/latest/shared-bindings/index.html>`_.
- API docs are rST within the C files in ``shared-bindings``.
- No ``machine`` API.
Modules
~~~~~~~
- No module aliasing. (``uos`` and ``utime`` are not available as
``os`` and ``time`` respectively.) Instead ``os``, ``time``, and
``random`` are CPython compatible.
- New ``storage`` module which manages file system mounts.
(Functionality from ``uos`` in MicroPython.)
- Modules with a CPython counterpart, such as ``time``, ``os`` and
``random``, are strict
`subsets <https://circuitpython.readthedocs.io/en/latest/shared-bindings/time/__init__.html>`__
of their `CPython
version <https://docs.python.org/3.4/library/time.html?highlight=time#module-time>`__.
Therefore, code from CircuitPython is runnable on CPython but not
necessarily the reverse.
- tick count is available as
`time.monotonic() <https://circuitpython.readthedocs.io/en/latest/shared-bindings/time/__init__.html#time.monotonic>`__
--------------
Project Structure
-----------------
Here is an overview of the top-level source code directories.
Core
~~~~
The core code of
`MicroPython <https://github.com/micropython/micropython>`__ is shared
amongst ports including CircuitPython:
- ``docs`` High level user documentation in Sphinx reStructuredText
format.
- ``drivers`` External device drivers written in Python.
- ``examples`` A few example Python scripts.
- ``extmod`` Shared C code used in multiple ports' modules.
- ``lib`` Shared core C code including externally developed libraries
such as FATFS.
- ``logo`` The CircuitPython logo.
- ``mpy-cross`` A cross compiler that converts Python files to byte
code prior to being run in MicroPython. Useful for reducing library
size.
- ``py`` Core Python implementation, including compiler, runtime, and
core library.
- ``shared-bindings`` Shared definition of Python modules, their docs
and backing C APIs. Ports must implement the C API to support the
corresponding module.
- ``shared-module`` Shared implementation of Python modules that may be
based on ``common-hal``.
- ``tests`` Test framework and test scripts.
- ``tools`` Various tools, including the pyboard.py module.
Ports
~~~~~
Ports include the code unique to a microcontroller line and also
variations based on the board.
================ ============================================================
Supported Support status
================ ============================================================
atmel-samd ``SAMD21`` stable | ``SAMD51`` stable
cxd56 stable
esp32s2 beta
litex alpha
mimxrt10xx alpha
nrf stable
raspberrypi beta
stm ``F4`` stable | ``others`` beta
unix alpha
================ ============================================================
- ``stable`` Highly unlikely to have bugs or missing functionality.
- ``beta`` Being actively improved but may be missing functionality and have bugs.
- ``alpha`` Will have bugs and missing functionality.
The remaining port directories not listed above are in the repo to maintain compatibility with the
`MicroPython <https://github.com/micropython/micropython>`__ parent project.
`Back to Top <#circuitpython>`__
.. |Build Status| image:: https://github.com/adafruit/circuitpython/workflows/Build%20CI/badge.svg
:target: https://github.com/adafruit/circuitpython/actions?query=branch%3Amain
.. |Doc Status| image:: https://readthedocs.org/projects/circuitpython/badge/?version=latest
:target: http://circuitpython.readthedocs.io/
.. |Discord| image:: https://img.shields.io/discord/327254708534116352.svg
:target: https://adafru.it/discord
.. |License| image:: https://img.shields.io/badge/License-MIT-brightgreen.svg
:target: https://choosealicense.com/licenses/mit/
.. |Weblate| image:: https://hosted.weblate.org/widgets/circuitpython/-/svg-badge.svg
:target: https://hosted.weblate.org/engage/circuitpython/?utm_source=widget

94
WEBUSB_README.md Normal file
View file

@ -0,0 +1,94 @@
<!--
SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
SPDX-License-Identifier: MIT
-->
# WebUSB Serial Support
To date, this has only been tested on one port (esp32s2), on one board (espressif_kaluga_1).
## What it does
If you have ever used CircuitPython on a platform with a graphical LCD display, you have probably
already seen multiple "consoles" in use (although the LCD console is "output only").
New compile-time option CIRCUITPY_USB_VENDOR enables an additional "console" that can be used in
parallel with the original (CDC) serial console.
Web pages that support the WebUSB standard can connect to the "vendor" interface and activate
this WebUSB serial console at any time.
You can type into either console, and CircuitPython output is sent to all active consoles.
One example of a web page you can use to test drive this feature can be found at:
https://adafruit.github.io/Adafruit_TinyUSB_Arduino/examples/webusb-serial/index.html
## How to enable
Update your platform's mpconfigboard.mk file to enable and disable specific types of USB interfaces.
CIRCUITPY_USB_HID = xxx
CIRCUITPY_USB_MIDI = xxx
CIRCUITPY_USB_VENDOR = xxx
On at least some of the hardware platforms, the maximum number of USB endpoints is fixed.
For example, on the ESP32S2, you must pick only one of the above 3 interfaces to be enabled.
Original espressif_kaluga_1 mpconfigboard.mk settings:
CIRCUITPY_USB_HID = 1
CIRCUITPY_USB_MIDI = 0
CIRCUITPY_USB_VENDOR = 0
Settings to enable WebUSB instead:
CIRCUITPY_USB_HID = 0
CIRCUITPY_USB_MIDI = 0
CIRCUITPY_USB_VENDOR = 1
Notice that to enable VENDOR on ESP32-S2, we had to give up HID. There may be platforms that can have both, or even all three.
## Implementation Notes
CircuitPython uses the tinyusb library.
The tinyusb library already has support for WebUSB serial.
The tinyusb examples already include a "WebUSB serial" example.
Sidenote - The use of the term "vendor" instead of "WebUSB" was done to match tinyusb.
Basically, this feature was ported into CircuitPython by pulling code snippets out of the
tinyusb example, and putting them where they best belonged in the CircuitPython codebase.
There was one complication:
tinyusb uses C preprocessor macros to define things like USB descriptors.
CircuitPython uses a Python program (tools/gen_usb_descriptor.py) to create USB descriptors (etc.)
using "helper objects" from another repo (adafruit_usb_descriptor). This means some of the example
code had to be adapted to the new programing model, and gen_usb_descriptor gained new command-line
options to control the generated code.
The generated files go into the "build" directory, look for autogen_usb_descriptor.c and
genhdr/autogen_usb_descriptor.h.
Also worth pointing out - the re-use of the CDC connect/disconnect mechanism is not actually part
of the WebUSB standard, it's more of "common idiom". We make use of it here because we need to know
when we should be paying attention to the WebUSB serial interface, and when we should ignore it..
## Possible future work areas
The current code uses the existing Python infrastructure to create the Interface descriptor, but
simply outputs the code snippets from the original tinyusb demo code to create the WEBUSB_URL,
BOS, and MS_OS_20 descriptors. I suppose additional work could be done to add these to the
adafruit_usb_descriptor project, and then gen_usb_descriptor.py could be modified to make use
of them.
Program gen_usb_descriptor.py creates objects for most interface types, regardless of whether or
not they are actually enabled. This increases the size of a generated string table. I made the
new vendor-interface-related code not do this (because some of the ARM platforms would no longer
build), but I did not go back and do this for the other interface types (CDC, MIDI, HID, etc.)
Some FLASH savings are probably possible if this is done.

496
conf.py Normal file
View file

@ -0,0 +1,496 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# MicroPython documentation build configuration file, created by
# sphinx-quickstart on Sun Sep 21 11:42:03 2014.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
#
# SPDX-License-Identifier: MIT
import logging
import os
import re
import subprocess
import sys
import urllib.parse
import time
import recommonmark
from sphinx.transforms import SphinxTransform
from docutils import nodes
from sphinx import addnodes
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('docs'))
sys.path.insert(0, os.path.abspath('.'))
import shared_bindings_matrix
master_doc = 'docs/index'
# Grab the JSON values to use while building the module support matrix
# in 'shared-bindings/index.rst'
# The stubs must be built before we calculate the shared bindings matrix
subprocess.check_output(["make", "stubs"])
#modules_support_matrix = shared_bindings_matrix.support_matrix_excluded_boards()
modules_support_matrix = shared_bindings_matrix.support_matrix_by_board()
html_context = {
'support_matrix': modules_support_matrix
}
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
needs_sphinx = '1.3'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinxcontrib.rsvgconverter',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'rstjinja',
'recommonmark',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['templates']
# The suffix of source filenames.
source_suffix = {
'.rst': 'restructuredtext',
'.md': 'markdown',
}
extensions.append('autoapi.extension')
autoapi_type = 'python'
# Uncomment this if debugging autoapi
autoapi_keep_files = True
autoapi_dirs = [os.path.join('circuitpython-stubs', x) for x in os.listdir('circuitpython-stubs')]
autoapi_add_toctree_entry = False
autoapi_options = ['members', 'undoc-members', 'private-members', 'show-inheritance', 'special-members', 'show-module-summary']
autoapi_template_dir = 'docs/autoapi/templates'
autoapi_python_class_content = "both"
autoapi_python_use_implicit_namespaces = True
autoapi_root = "shared-bindings"
redirects_file = 'docs/redirects.txt'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
#master_doc = 'index'
# Get current date (execution) for copyright year
current_date = time.localtime()
# General information about the project.
project = 'Adafruit CircuitPython'
copyright = f'2014-{current_date.tm_year}, MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)'
# These are overwritten on ReadTheDocs.
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# We don't follow "The short X.Y version" vs "The full version, including alpha/beta/rc tags"
# breakdown, so use the same version identifier for both to avoid confusion.
final_version = ""
git_describe = subprocess.run(
["git", "describe", "--dirty", "--tags"],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
encoding="utf-8"
)
if git_describe.returncode == 0:
git_version = re.search(
r"^\d(?:\.\d){0,2}(?:\-(?:alpha|beta|rc)\.\d+){0,1}",
str(git_describe.stdout)
)
if git_version:
final_version = git_version[0]
else:
print("Failed to retrieve git version:", git_describe.stdout)
version = release = final_version
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ["**/build*",
".git",
".github",
".env",
".venv",
".direnv",
"data",
"docs/autoapi",
"docs/README.md",
"drivers",
"examples",
"extmod",
"frozen",
"lib",
"main.c",
"mpy-cross",
"ports/*/*.c",
"ports/*/*.h",
"ports/*/boards",
"ports/*/common-hal",
"ports/*/supervisor",
"ports/atmel-samd/asf4",
"ports/atmel-samd/asf4_conf",
"ports/atmel-samd/external_flash",
"ports/atmel-samd/freetouch",
"ports/atmel-samd/peripherals",
"ports/atmel-samd/QTouch",
"ports/atmel-samd/tools",
"ports/cxd56/mkspk",
"ports/cxd56/spresense-exported-sdk",
"ports/esp32s2/certificates",
"ports/esp32s2/esp-idf",
"ports/esp32s2/.idf_tools",
"ports/esp32s2/peripherals",
"ports/litex/hw",
"ports/minimal",
"ports/mimxrt10xx/peripherals",
"ports/mimxrt10xx/sdk",
"ports/nrf/device",
"ports/nrf/bluetooth",
"ports/nrf/modules",
"ports/nrf/nrfx",
"ports/nrf/peripherals",
"ports/nrf/usb",
"ports/raspberrypi/sdk",
"ports/stm/st_driver",
"ports/stm/packages",
"ports/stm/peripherals",
"ports/stm/ref",
"ports/unix",
"py",
"shared-bindings/util.*",
"shared-module",
"supervisor",
"tests",
"tools"]
# The reST default role (used for this markup: `text`) to use for all
# documents.
default_role = 'any'
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False
# Global include files. Sphinx docs suggest using rst_epilog in preference
# of rst_prolog, so we follow. Absolute paths below mean "from the base
# of the doctree".
rst_epilog = """
.. include:: /docs/templates/replace.inc
"""
# -- Options for HTML output ----------------------------------------------
# on_rtd is whether we are on readthedocs.org
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
if not on_rtd: # only import and set the theme if we're building docs locally
try:
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path(), '.']
except:
html_theme = 'default'
html_theme_path = ['.']
else:
html_theme_path = ['.']
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = ['.']
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = '../../logo/trans-logo.png'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
html_favicon = 'docs/static/favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['docs/static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
html_last_updated_fmt = '%d %b %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {"index": "topindex.html"}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'CircuitPythondoc'
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
# Include 3 levels of headers in PDF ToC
'preamble': '\setcounter{tocdepth}{2}',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'CircuitPython.tex', 'CircuitPython Documentation',
'CircuitPython Contributors', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'CircuitPython', 'CircuitPython Documentation',
['CircuitPython contributors'], 1),
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'CircuitPython', 'CircuitPython Documentation',
'CircuitPython contributors', 'CircuitPython', 'Python for Microcontrollers.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {"cpython": ('https://docs.python.org/3/', None),
"bus_device": ('https://circuitpython.readthedocs.io/projects/busdevice/en/latest/', None),
"register": ('https://circuitpython.readthedocs.io/projects/register/en/latest/', None)}
# Adapted from sphinxcontrib-redirects
from sphinx.builders import html as builders
TEMPLATE = """<html>
<head><meta http-equiv="refresh" content="0; url=%s"/></head>
</html>
"""
def generate_redirects(app):
path = os.path.join(app.srcdir, app.config.redirects_file)
if not os.path.exists(path):
logging.error("Could not find redirects file at '%s'" % path)
return
if not isinstance(app.builder, builders.StandaloneHTMLBuilder):
logging.warn("The 'sphinxcontib-redirects' plugin is only supported "
"by the 'html' builder and subclasses. Skipping...")
logging.warn(f"Builder is {app.builder.name} ({type(app.builder)})")
return
with open(path) as redirects:
for line in redirects.readlines():
from_path, to_path = line.rstrip().split(' ')
logging.debug("Redirecting '%s' to '%s'" % (from_path, to_path))
from_path = os.path.splitext(from_path)[0] + ".html"
to_path_prefix = '..%s' % os.path.sep * (
len(from_path.split(os.path.sep)) - 1)
to_path = to_path_prefix + to_path
redirected_filename = os.path.join(app.builder.outdir, from_path)
redirected_directory = os.path.dirname(redirected_filename)
if not os.path.exists(redirected_directory):
os.makedirs(redirected_directory)
with open(redirected_filename, 'w') as f:
f.write(TEMPLATE % urllib.parse.quote(to_path, '#/'))
class CoreModuleTransform(SphinxTransform):
default_priority = 870
def _convert_first_paragraph_into_title(self):
title = self.document.next_node(nodes.title)
paragraph = self.document.next_node(nodes.paragraph)
if not title or not paragraph:
return
if isinstance(paragraph[0], nodes.paragraph):
paragraph = paragraph[0]
if all(isinstance(child, nodes.Text) for child in paragraph.children):
for child in paragraph.children:
title.append(nodes.Text(" \u2013 "))
title.append(child)
paragraph.parent.remove(paragraph)
def _enable_linking_to_nonclass_targets(self):
for desc in self.document.traverse(addnodes.desc):
for xref in desc.traverse(addnodes.pending_xref):
if xref.attributes.get("reftype") == "class":
xref.attributes.pop("refspecific", None)
def apply(self, **kwargs):
docname = self.env.docname
if docname.startswith(autoapi_root) and docname.endswith("/index"):
self._convert_first_paragraph_into_title()
self._enable_linking_to_nonclass_targets()
def setup(app):
app.add_css_file("customstyle.css")
app.add_css_file("filter.css")
app.add_js_file("filter.js")
app.add_config_value('redirects_file', 'redirects', 'env')
app.connect('builder-inited', generate_redirects)
app.add_transform(CoreModuleTransform)

1
data/nvm.toml Submodule

@ -0,0 +1 @@
Subproject commit 9b4a5241d8c3310b31a7925a4f2160743890a2e4

View file

@ -0,0 +1,957 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Dan Halbert for Adafruit Industries
* Copyright (c) 2016 Glenn Ruben Bakke
* Copyright (c) 2018 Artur Pacholec
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "hci.h"
#include "py/gc.h"
#include "py/mphal.h"
#include "py/objstr.h"
#include "py/runtime.h"
#include "supervisor/shared/safe_mode.h"
#include "supervisor/shared/tick.h"
#include "supervisor/usb.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Adapter.h"
#include "shared-bindings/_bleio/Address.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Service.h"
#include "shared-bindings/_bleio/Connection.h"
#include "shared-bindings/_bleio/ScanEntry.h"
#include "shared-bindings/time/__init__.h"
#define MSEC_TO_UNITS(TIME, RESOLUTION) (((TIME) * 1000) / (RESOLUTION))
#define SEC_TO_UNITS(TIME, RESOLUTION) (((TIME) * 1000000) / (RESOLUTION))
#define UNITS_TO_SEC(TIME, RESOLUTION) (((TIME)*(RESOLUTION)) / 1000000)
// 0.625 msecs (625 usecs)
#define ADV_INTERVAL_UNIT_FLOAT_SECS (0.000625)
// Microseconds is the base unit. The macros above know that.
#define UNIT_0_625_MS (625)
#define UNIT_1_25_MS (1250)
#define UNIT_10_MS (10000)
#define MAX_ADVERTISEMENT_SIZE (31)
// TODO make this settable from Python.
#define DEFAULT_TX_POWER 0 // 0 dBm
#define MAX_ANONYMOUS_ADV_TIMEOUT_SECS (60 * 15)
#define MAX_LIMITED_DISCOVERABLE_ADV_TIMEOUT_SECS (180)
#define BLE_MIN_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_0_625_MS)
#define BLE_MAX_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_0_625_MS)
#define BLE_SLAVE_LATENCY 0
#define BLE_CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS)
bleio_connection_internal_t bleio_connections[BLEIO_TOTAL_CONNECTION_COUNT];
STATIC void add_generic_services(bleio_adapter_obj_t *adapter) {
// Create Generic Access UUID, Service, and Characteristics.
// Generic Access Service setup.
bleio_uuid_obj_t *generic_access_service_uuid = m_new_obj(bleio_uuid_obj_t);
generic_access_service_uuid->base.type = &bleio_uuid_type;
common_hal_bleio_uuid_construct(generic_access_service_uuid, 0x1800, NULL);
bleio_uuid_obj_t *device_name_characteristic_uuid = m_new_obj(bleio_uuid_obj_t);
device_name_characteristic_uuid->base.type = &bleio_uuid_type;
common_hal_bleio_uuid_construct(device_name_characteristic_uuid, 0x2A00, NULL);
bleio_uuid_obj_t *appearance_characteristic_uuid = m_new_obj(bleio_uuid_obj_t);
appearance_characteristic_uuid->base.type = &bleio_uuid_type;
common_hal_bleio_uuid_construct(appearance_characteristic_uuid, 0x2A01, NULL);
// Not implemented:
// Peripheral Preferred Connection Parameters
// Central Address Resolution
bleio_service_obj_t *generic_access_service = m_new_obj(bleio_service_obj_t);
generic_access_service->base.type = &bleio_service_type;
common_hal_bleio_service_construct(generic_access_service, generic_access_service_uuid, false);
adapter->device_name_characteristic = m_new_obj(bleio_characteristic_obj_t);
adapter->device_name_characteristic->base.type = &bleio_characteristic_type;
char generic_name[] = { 'C', 'I', 'R', 'C', 'U', 'I', 'T', 'P', 'Y', 'n', 'n', 'n', 'n' };
mp_buffer_info_t generic_name_bufinfo = {
.buf = generic_name,
.len = sizeof(generic_name),
};
// Will be added to service by constructor.
common_hal_bleio_characteristic_construct(
adapter->device_name_characteristic,
generic_access_service,
BLE_GATT_HANDLE_INVALID,
device_name_characteristic_uuid,
CHAR_PROP_READ,
SECURITY_MODE_OPEN,
SECURITY_MODE_NO_ACCESS,
248, // max length, from Bluetooth spec
false, // not fixed length
&generic_name_bufinfo
);
uint16_t zero_16 = 0;
mp_buffer_info_t zero_16_value = {
.buf = &zero_16,
.len = sizeof(zero_16),
};
adapter->appearance_characteristic = m_new_obj(bleio_characteristic_obj_t);
adapter->appearance_characteristic->base.type = &bleio_characteristic_type;
common_hal_bleio_characteristic_construct(
adapter->appearance_characteristic,
generic_access_service,
BLE_GATT_HANDLE_INVALID,
appearance_characteristic_uuid,
CHAR_PROP_READ,
SECURITY_MODE_OPEN,
SECURITY_MODE_NO_ACCESS,
2, // max length, from Bluetooth spec
true, // fixed length
&zero_16_value
);
// Generic Attribute Service setup.
bleio_uuid_obj_t *generic_attribute_service_uuid = m_new_obj(bleio_uuid_obj_t);
generic_attribute_service_uuid->base.type = &bleio_uuid_type;
common_hal_bleio_uuid_construct(generic_attribute_service_uuid, 0x1801, NULL);
bleio_uuid_obj_t *service_changed_characteristic_uuid = m_new_obj(bleio_uuid_obj_t);
service_changed_characteristic_uuid->base.type = &bleio_uuid_type;
common_hal_bleio_uuid_construct(service_changed_characteristic_uuid, 0x2A05, NULL);
bleio_service_obj_t *generic_attribute_service = m_new_obj(bleio_service_obj_t);
generic_attribute_service->base.type = &bleio_service_type;
common_hal_bleio_service_construct(generic_attribute_service, generic_attribute_service_uuid, false);
adapter->service_changed_characteristic = m_new_obj(bleio_characteristic_obj_t);
adapter->service_changed_characteristic->base.type = &bleio_characteristic_type;
uint32_t zero_32 = 0;
mp_buffer_info_t zero_32_value = {
.buf = &zero_32,
.len = sizeof(zero_32),
};
common_hal_bleio_characteristic_construct(
adapter->service_changed_characteristic,
generic_attribute_service,
BLE_GATT_HANDLE_INVALID,
service_changed_characteristic_uuid,
CHAR_PROP_INDICATE,
SECURITY_MODE_OPEN,
SECURITY_MODE_NO_ACCESS,
4, // max length, from Bluetooth spec
true, // fixed length
&zero_32_value
);
}
STATIC void check_enabled(bleio_adapter_obj_t *adapter) {
if (!common_hal_bleio_adapter_get_enabled(adapter)) {
mp_raise_bleio_BluetoothError(translate("Adapter not enabled"));
}
}
// STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
// bleio_adapter_obj_t *self = (bleio_adapter_obj_t*)self_in;
// // For debugging.
// // mp_printf(&mp_plat_print, "Adapter event: 0x%04x\n", ble_evt->header.evt_id);
// switch (ble_evt->header.evt_id) {
// case BLE_GAP_EVT_CONNECTED: {
// // Find an empty connection. One must always be available because the SD has the same
// // total connection limit.
// bleio_connection_internal_t *connection;
// for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
// connection = &bleio_connections[i];
// if (connection->conn_handle == BLE_CONN_HANDLE_INVALID) {
// break;
// }
// }
// // Central has connected.
// ble_gap_evt_connected_t* connected = &ble_evt->evt.gap_evt.params.connected;
// connection->conn_handle = ble_evt->evt.gap_evt.conn_handle;
// connection->connection_obj = mp_const_none;
// connection->pair_status = PAIR_NOT_PAIRED;
// connection->mtu = 0;
// ble_drv_add_event_handler_entry(&connection->handler_entry, connection_on_ble_evt, connection);
// self->connection_objs = NULL;
// // Save the current connection parameters.
// memcpy(&connection->conn_params, &connected->conn_params, sizeof(ble_gap_conn_params_t));
// #if CIRCUITPY_VERBOSE_BLE
// ble_gap_conn_params_t *cp = &connected->conn_params;
// mp_printf(&mp_plat_print, "conn params: min_ci %d max_ci %d s_l %d sup_timeout %d\n", cp->min_conn_interval, cp->max_conn_interval, cp->slave_latency, cp->conn_sup_timeout);
// #endif
// // See if connection interval set by Central is out of range.
// // If so, negotiate our preferred range.
// ble_gap_conn_params_t conn_params;
// sd_ble_gap_ppcp_get(&conn_params);
// if (conn_params.min_conn_interval < connected->conn_params.min_conn_interval ||
// conn_params.min_conn_interval > connected->conn_params.max_conn_interval) {
// sd_ble_gap_conn_param_update(ble_evt->evt.gap_evt.conn_handle, &conn_params);
// }
// self->current_advertising_data = NULL;
// break;
// }
// case BLE_GAP_EVT_DISCONNECTED: {
// // Find the connection that was disconnected.
// bleio_connection_internal_t *connection;
// for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
// connection = &bleio_connections[i];
// if (connection->conn_handle == ble_evt->evt.gap_evt.conn_handle) {
// break;
// }
// }
// ble_drv_remove_event_handler(connection_on_ble_evt, connection);
// connection->conn_handle = BLE_CONN_HANDLE_INVALID;
// connection->pair_status = PAIR_NOT_PAIRED;
// if (connection->connection_obj != mp_const_none) {
// bleio_connection_obj_t* obj = connection->connection_obj;
// obj->connection = NULL;
// obj->disconnect_reason = ble_evt->evt.gap_evt.params.disconnected.reason;
// }
// self->connection_objs = NULL;
// break;
// }
// case BLE_GAP_EVT_ADV_SET_TERMINATED:
// self->current_advertising_data = NULL;
// break;
// default:
// // For debugging.
// // mp_printf(&mp_plat_print, "Unhandled adapter event: 0x%04x\n", ble_evt->header.evt_id);
// return false;
// break;
// }
// return true;
// }
char default_ble_name[] = { 'C', 'I', 'R', 'C', 'U', 'I', 'T', 'P', 'Y', 0, 0, 0, 0};
// Get various values and limits set by the adapter.
// Set event mask.
STATIC void bleio_adapter_hci_init(bleio_adapter_obj_t *self) {
const size_t len = sizeof(default_ble_name);
bt_addr_t addr;
hci_check_error(hci_read_bd_addr(&addr));
default_ble_name[len - 4] = nibble_to_hex_lower[addr.val[1] >> 4 & 0xf];
default_ble_name[len - 3] = nibble_to_hex_lower[addr.val[1] & 0xf];
default_ble_name[len - 2] = nibble_to_hex_lower[addr.val[0] >> 4 & 0xf];
default_ble_name[len - 1] = nibble_to_hex_lower[addr.val[0] & 0xf];
self->name = mp_obj_new_str(default_ble_name, len);
// Get version information.
if (hci_read_local_version(&self->hci_version, &self->hci_revision, &self->lmp_version,
&self->manufacturer, &self->lmp_subversion) != HCI_OK) {
mp_raise_bleio_BluetoothError(translate("Could not read HCI version"));
}
// Get supported features.
if (hci_le_read_local_supported_features(self->features) != HCI_OK) {
mp_raise_bleio_BluetoothError(translate("Could not read BLE features"));
}
// Enabled desired events.
// Most importantly, includes:
// BT_EVT_MASK_LE_META_EVENT BT_EVT_BIT(61)
if (hci_set_event_mask(0x3FFFFFFFFFFFFFFF) != HCI_OK) {
mp_raise_bleio_BluetoothError(translate("Could not set event mask"));
}
// The default events for LE are:
// BT_EVT_MASK_LE_CONN_COMPLETE, BT_EVT_MASK_LE_ADVERTISING_REPORT,
// BT_EVT_MASK_LE_CONN_UPDATE_COMPLETE, BT_EVT_MASK_LE_REMOTE_FEAT_COMPLETE
// BT_EVT_MASK_LE_LTK_REQUEST.
// That's all we need right now, so we don't bother to set the LE event mask.
// Get ACL buffer info.
uint16_t le_max_len;
uint8_t le_max_num;
if (hci_le_read_buffer_size(&le_max_len, &le_max_num) == HCI_OK) {
self->max_acl_buffer_len = le_max_len;
self->max_acl_num_buffers = le_max_num;
} else {
// LE Read Buffer Size not available; use the general Read Buffer Size.
uint16_t acl_max_len;
uint8_t sco_max_len;
uint16_t acl_max_num;
uint16_t sco_max_num;
if (hci_read_buffer_size(&acl_max_len, &sco_max_len, &acl_max_num, &sco_max_num) != HCI_OK) {
mp_raise_bleio_BluetoothError(translate("Could not read BLE buffer info"));
}
self->max_acl_buffer_len = acl_max_len;
self->max_acl_num_buffers = acl_max_num;
}
// Get max advertising length if extended advertising is supported.
if (BT_FEAT_LE_EXT_ADV(self->features)) {
uint16_t max_adv_data_len;
if (hci_le_read_maximum_advertising_data_length(&max_adv_data_len) != HCI_OK) {
mp_raise_bleio_BluetoothError(translate("Could not get max advertising length"));
}
self->max_adv_data_len = max_adv_data_len;
} else {
self->max_adv_data_len = MAX_ADVERTISEMENT_SIZE;
}
}
void common_hal_bleio_adapter_construct_hci_uart(bleio_adapter_obj_t *self, busio_uart_obj_t *uart, digitalio_digitalinout_obj_t *rts, digitalio_digitalinout_obj_t *cts) {
self->allocated = true;
self->hci_uart = uart;
self->rts_digitalinout = rts;
self->cts_digitalinout = cts;
// Advertising-related fields are initialized by common_hal_bleio_adapter_set_enabled().
self->enabled = false;
common_hal_bleio_adapter_set_enabled(self, true);
bleio_adapter_hci_init(self);
common_hal_bleio_adapter_set_name(self, default_ble_name);
}
void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enabled) {
const bool is_enabled = common_hal_bleio_adapter_get_enabled(self);
// Don't enable or disable twice
if (is_enabled == enabled) {
return;
}
self->enabled = enabled;
// We must poll for input from the HCI adapter.
// TODO Can we instead trigger an interrupt on UART input traffic?
if (enabled) {
supervisor_enable_tick();
} else {
supervisor_disable_tick();
}
// Enabling or disabling: stop any current activity; reset to known state.
hci_reset();
self->now_advertising = false;
self->extended_advertising = false;
self->circuitpython_advertising = false;
self->advertising_timeout_msecs = 0;
if (enabled) {
// Reset list of known attributes.
// Indices into the list are handles. Handle 0x0000 designates an invalid handle,
// so store None there to skip it.
self->attributes = mp_obj_new_list(0, NULL);
bleio_adapter_add_attribute(self, mp_const_none);
add_generic_services(self);
}
}
bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self) {
return self->enabled;
}
bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *self) {
check_enabled(self);
bt_addr_t addr;
hci_check_error(hci_read_bd_addr(&addr));
bleio_address_obj_t *address = m_new_obj(bleio_address_obj_t);
address->base.type = &bleio_address_type;
common_hal_bleio_address_construct(address, addr.val, BT_ADDR_LE_PUBLIC);
return address;
}
bool common_hal_bleio_adapter_set_address(bleio_adapter_obj_t *self, bleio_address_obj_t *address) {
mp_buffer_info_t bufinfo;
if (!mp_get_buffer(address->bytes, &bufinfo, MP_BUFFER_READ)) {
return false;
}
return hci_le_set_random_address(bufinfo.buf) == HCI_OK;
}
mp_obj_str_t *common_hal_bleio_adapter_get_name(bleio_adapter_obj_t *self) {
return self->name;
}
void common_hal_bleio_adapter_set_name(bleio_adapter_obj_t *self, const char *name) {
self->name = mp_obj_new_str(name, strlen(name));
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(self->name, &bufinfo, MP_BUFFER_READ);
bleio_characteristic_set_local_value(self->device_name_characteristic, &bufinfo);
}
// STATIC bool scan_on_ble_evt(ble_evt_t *ble_evt, void *scan_results_in) {
// bleio_scanresults_obj_t *scan_results = (bleio_scanresults_obj_t*)scan_results_in;
// if (ble_evt->header.evt_id == BLE_GAP_EVT_TIMEOUT &&
// ble_evt->evt.gap_evt.params.timeout.src == BLE_GAP_TIMEOUT_SRC_SCAN) {
// shared_module_bleio_scanresults_set_done(scan_results, true);
// ble_drv_remove_event_handler(scan_on_ble_evt, scan_results);
// return true;
// }
// if (ble_evt->header.evt_id != BLE_GAP_EVT_ADV_REPORT) {
// return false;
// }
// ble_gap_evt_adv_report_t *report = &ble_evt->evt.gap_evt.params.adv_report;
// shared_module_bleio_scanresults_append(scan_results,
// supervisor_ticks_ms64(),
// report->type.connectable,
// report->type.scan_response,
// report->rssi,
// report->peer_addr.addr,
// report->peer_addr.addr_type,
// report->data.p_data,
// report->data.len);
// const uint32_t err_code = sd_ble_gap_scan_start(NULL, scan_results->common_hal_data);
// if (err_code != NRF_SUCCESS) {
// // TODO: Pass the error into the scan results so it can throw an exception.
// scan_results->done = true;
// }
// return true;
// }
mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t *prefixes, size_t prefix_length, bool extended, mp_int_t buffer_size, mp_float_t timeout, mp_float_t interval, mp_float_t window, mp_int_t minimum_rssi, bool active) {
// TODO
mp_raise_NotImplementedError(NULL);
check_enabled(self);
if (self->scan_results != NULL) {
if (!shared_module_bleio_scanresults_get_done(self->scan_results)) {
mp_raise_bleio_BluetoothError(translate("Scan already in progess. Stop with stop_scan."));
}
self->scan_results = NULL;
}
self->scan_results = shared_module_bleio_new_scanresults(buffer_size, prefixes, prefix_length, minimum_rssi);
// size_t max_packet_size = extended ? BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED : BLE_GAP_SCAN_BUFFER_MAX;
// uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size, false);
// ble_data_t * sd_data = (ble_data_t *) raw_data;
// self->scan_results->common_hal_data = sd_data;
// sd_data->len = max_packet_size;
// sd_data->p_data = raw_data + sizeof(ble_data_t);
// ble_drv_add_event_handler(scan_on_ble_evt, self->scan_results);
// uint32_t nrf_timeout = SEC_TO_UNITS(timeout, UNIT_10_MS);
// if (timeout <= 0.0001) {
// nrf_timeout = BLE_GAP_SCAN_TIMEOUT_UNLIMITED;
// }
// ble_gap_scan_params_t scan_params = {
// .extended = extended,
// .interval = SEC_TO_UNITS(interval, UNIT_0_625_MS),
// .timeout = nrf_timeout,
// .window = SEC_TO_UNITS(window, UNIT_0_625_MS),
// .scan_phys = BLE_GAP_PHY_1MBPS,
// .active = active
// };
// uint32_t err_code;
// vm_used_ble = true;
// err_code = sd_ble_gap_scan_start(&scan_params, sd_data);
// if (err_code != NRF_SUCCESS) {
// self->scan_results = NULL;
// ble_drv_remove_event_handler(scan_on_ble_evt, self->scan_results);
// check_nrf_error(err_code);
// }
return MP_OBJ_FROM_PTR(self->scan_results);
}
void common_hal_bleio_adapter_stop_scan(bleio_adapter_obj_t *self) {
// TODO
mp_raise_NotImplementedError(NULL);
check_enabled(self);
// If not already scanning, no problem.
if (hci_le_set_scan_enable(BT_HCI_LE_SCAN_DISABLE, BT_HCI_LE_SCAN_FILTER_DUP_DISABLE) == HCI_OK) {
shared_module_bleio_scanresults_set_done(self->scan_results, true);
self->scan_results = NULL;
}
}
// typedef struct {
// uint16_t conn_handle;
// volatile bool done;
// } connect_info_t;
// STATIC bool connect_on_ble_evt(ble_evt_t *ble_evt, void *info_in) {
// connect_info_t *info = (connect_info_t*)info_in;
// switch (ble_evt->header.evt_id) {
// case BLE_GAP_EVT_CONNECTED:
// info->conn_handle = ble_evt->evt.gap_evt.conn_handle;
// info->done = true;
// break;
// case BLE_GAP_EVT_TIMEOUT:
// // Handle will be invalid.
// info->done = true;
// break;
// default:
// // For debugging.
// // mp_printf(&mp_plat_print, "Unhandled central event: 0x%04x\n", ble_evt->header.evt_id);
// return false;
// break;
// }
// return true;
// }
mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout) {
// TODO
mp_raise_NotImplementedError(NULL);
check_enabled(self);
// ble_gap_addr_t addr;
// addr.addr_type = address->type;
// mp_buffer_info_t address_buf_info;
// mp_get_buffer_raise(address->bytes, &address_buf_info, MP_BUFFER_READ);
// memcpy(addr.addr, (uint8_t *) address_buf_info.buf, NUM_BLEIO_ADDRESS_BYTES);
// ble_gap_scan_params_t scan_params = {
// .interval = MSEC_TO_UNITS(100, UNIT_0_625_MS),
// .window = MSEC_TO_UNITS(100, UNIT_0_625_MS),
// .scan_phys = BLE_GAP_PHY_1MBPS,
// // timeout of 0 means no timeout
// .timeout = SEC_TO_UNITS(timeout, UNIT_10_MS),
// };
// ble_gap_conn_params_t conn_params = {
// .conn_sup_timeout = MSEC_TO_UNITS(4000, UNIT_10_MS),
// .min_conn_interval = MSEC_TO_UNITS(15, UNIT_1_25_MS),
// .max_conn_interval = MSEC_TO_UNITS(300, UNIT_1_25_MS),
// .slave_latency = 0, // number of conn events
// };
// connect_info_t event_info;
// ble_drv_add_event_handler(connect_on_ble_evt, &event_info);
// event_info.done = false;
vm_used_ble = true;
// uint32_t err_code = sd_ble_gap_connect(&addr, &scan_params, &conn_params, BLE_CONN_CFG_TAG_CUSTOM);
// if (err_code != NRF_SUCCESS) {
// ble_drv_remove_event_handler(connect_on_ble_evt, &event_info);
// check_nrf_error(err_code);
// }
// while (!event_info.done) {
// RUN_BACKGROUND_TASKS;
// }
// ble_drv_remove_event_handler(connect_on_ble_evt, &event_info);
// uint16_t conn_handle = event_info.conn_handle;
// if (conn_handle == BLE_CONN_HANDLE_INVALID) {
// mp_raise_bleio_BluetoothError(translate("Failed to connect: timeout"));
// }
// // Negotiate for better PHY, larger MTU and data lengths since we are the central. These are
// // nice-to-haves so ignore any errors.
// ble_gap_phys_t const phys = {
// .rx_phys = BLE_GAP_PHY_AUTO,
// .tx_phys = BLE_GAP_PHY_AUTO,
// };
// sd_ble_gap_phy_update(conn_handle, &phys);
// sd_ble_gattc_exchange_mtu_request(conn_handle, BLE_GATTS_VAR_ATTR_LEN_MAX);
// sd_ble_gap_data_length_update(conn_handle, NULL, NULL);
// Make the connection object and return it.
// for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
// bleio_connection_internal_t *connection = &bleio_connections[i];
// if (connection->conn_handle == conn_handle) {
// return bleio_connection_new_from_internal(connection);
// }
// }
mp_raise_bleio_BluetoothError(translate("Failed to connect: internal error"));
return mp_const_none;
}
STATIC void check_data_fit(size_t data_len, bool connectable) {
if (data_len > MAX_ADVERTISEMENT_SIZE) {
mp_raise_ValueError(translate("Data too large for advertisement packet"));
}
}
// STATIC bool advertising_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
// bleio_adapter_obj_t *self = (bleio_adapter_obj_t*)self_in;
// switch (ble_evt->header.evt_id) {
// case BLE_GAP_EVT_ADV_SET_TERMINATED:
// common_hal_bleio_adapter_stop_advertising(self);
// ble_drv_remove_event_handler(advertising_on_ble_evt, self_in);
// break;
// default:
// // For debugging.
// // mp_printf(&mp_plat_print, "Unhandled advertising event: 0x%04x\n", ble_evt->header.evt_id);
// return false;
// break;
// }
// return true;
// }
uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, float interval, uint8_t *advertising_data, uint16_t advertising_data_len, uint8_t *scan_response_data, uint16_t scan_response_data_len) {
check_enabled(self);
if (self->now_advertising) {
if (self->circuitpython_advertising) {
common_hal_bleio_adapter_stop_advertising(self);
} else {
// User-requested advertising.
// TODO allow multiple advertisements.
// Already advertising. Can't advertise twice.
return 1;
}
}
// Peer address, which we don't use (no directed advertising).
bt_addr_le_t empty_addr = { 0 };
bool extended =
advertising_data_len > self->max_adv_data_len || scan_response_data_len > self->max_adv_data_len;
if (extended) {
if (!BT_FEAT_LE_EXT_ADV(self->features)) {
mp_raise_bleio_BluetoothError(translate("Data length needs extended advertising, but this adapter does not support it"));
}
uint16_t props = 0;
if (connectable) {
props |= BT_HCI_LE_ADV_PROP_CONN;
}
if (scan_response_data_len > 0) {
props |= BT_HCI_LE_ADV_PROP_SCAN;
}
// Advertising interval.
uint32_t interval_units = SEC_TO_UNITS(interval, UNIT_0_625_MS);
hci_check_error(
hci_le_set_extended_advertising_parameters(
0, // handle
props, // adv properties
interval_units, // min interval
interval_units, // max interval
0b111, // channel map: channels 37, 38, 39
anonymous ? BT_ADDR_LE_RANDOM : BT_ADDR_LE_PUBLIC,
&empty_addr, // peer_addr,
0x00, // filter policy: no filter
DEFAULT_TX_POWER,
BT_HCI_LE_EXT_SCAN_PHY_1M, // Secondary PHY to use
0x00, // AUX_ADV_IND shall be sent prior to next adv event
BT_HCI_LE_EXT_SCAN_PHY_1M, // Secondary PHY to use
0x00, // Advertising SID
0x00 // Scan req notify disable
));
// We can use the duration mechanism provided, instead of our own.
self->advertising_timeout_msecs = 0;
uint8_t handle[1] = { 0 };
uint16_t duration_10msec[1] = { timeout * 100 };
uint8_t max_ext_adv_evts[1] = { 0 };
hci_check_error(
hci_le_set_extended_advertising_enable(
BT_HCI_LE_ADV_ENABLE,
1, // one advertising set.
handle,
duration_10msec,
max_ext_adv_evts
));
self->extended_advertising = true;
} else {
// Legacy advertising (not extended).
uint8_t adv_type;
if (connectable) {
// Connectable, scannable, undirected.
adv_type = BT_HCI_ADV_IND;
} else if (scan_response_data_len > 0) {
// Unconnectable, scannable, undirected.
adv_type = BT_HCI_ADV_SCAN_IND;
} else {
// Unconnectable, unscannable, undirected.
adv_type = BT_HCI_ADV_NONCONN_IND;
}
// Advertising interval.
uint16_t interval_units = SEC_TO_UNITS(interval, UNIT_0_625_MS);
hci_check_error(
hci_le_set_advertising_parameters(
interval_units, // min interval
interval_units, // max interval
adv_type,
anonymous ? BT_ADDR_LE_RANDOM : BT_ADDR_LE_PUBLIC,
&empty_addr,
0b111, // channel map: channels 37, 38, 39
0x00 // filter policy: no filter
));
// The HCI commands expect MAX_ADVERTISEMENT_SIZE (31)octets,
// even though the actual data length may be shorter.
uint8_t full_data[MAX_ADVERTISEMENT_SIZE] = { 0 };
memcpy(full_data, advertising_data, MIN(sizeof(full_data), advertising_data_len));
hci_check_error(hci_le_set_advertising_data(advertising_data_len, full_data));
memset(full_data, 0, sizeof(full_data));
if (scan_response_data_len > 0) {
memcpy(full_data, scan_response_data, MIN(sizeof(full_data), scan_response_data_len));
hci_check_error(hci_le_set_scan_response_data(scan_response_data_len, full_data));
}
// No duration mechanism is provided for legacy advertising, so we need to do our own.
self->advertising_timeout_msecs = timeout * 1000;
self->advertising_start_ticks = supervisor_ticks_ms64();
// Start advertising.
hci_check_error(hci_le_set_advertising_enable(BT_HCI_LE_ADV_ENABLE));
self->extended_advertising = false;
} // end legacy advertising setup
vm_used_ble = true;
self->now_advertising = true;
return 0;
}
void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo) {
check_enabled(self);
// interval value has already been validated.
check_data_fit(advertising_data_bufinfo->len, connectable);
check_data_fit(scan_response_data_bufinfo->len, connectable);
if (advertising_data_bufinfo->len > MAX_ADVERTISEMENT_SIZE && scan_response_data_bufinfo->len > 0) {
mp_raise_bleio_BluetoothError(translate("Extended advertisements with scan response not supported."));
}
// Anonymous mode requires a timeout so that we don't continue to broadcast
// the same data while cycling the MAC address -- otherwise, what's the
// point of randomizing the MAC address?
if (timeout == 0 && anonymous) {
timeout = MAX_ANONYMOUS_ADV_TIMEOUT_SECS;
} else {
if (timeout > MAX_LIMITED_DISCOVERABLE_ADV_TIMEOUT_SECS) {
mp_raise_bleio_BluetoothError(translate("Timeout is too long: Maximum timeout length is %d seconds"),
MAX_LIMITED_DISCOVERABLE_ADV_TIMEOUT_SECS);
}
}
const uint32_t result = _common_hal_bleio_adapter_start_advertising(
self, connectable, anonymous, timeout, interval,
advertising_data_bufinfo->buf,
advertising_data_bufinfo->len,
scan_response_data_bufinfo->buf,
scan_response_data_bufinfo->len);
if (result) {
mp_raise_bleio_BluetoothError(translate("Already advertising"));
}
self->circuitpython_advertising = false;
}
void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) {
check_enabled(self);
self->now_advertising = false;
self->extended_advertising = false;
self->circuitpython_advertising = false;
int result = hci_le_set_advertising_enable(BT_HCI_LE_ADV_DISABLE);
// OK if we're already stopped. There seems to be an ESP32 HCI bug:
// If advertising is already off, then LE_SET_ADV_ENABLE does not return a response.
if (result != HCI_RESPONSE_TIMEOUT) {
hci_check_error(result);
}
// TODO startup CircuitPython advertising again.
}
// Note that something stopped advertising, such as a connection happening.
// Don't ask the adapter to stop.
void bleio_adapter_advertising_was_stopped(bleio_adapter_obj_t *self) {
self->now_advertising = false;
self->extended_advertising = false;
self->circuitpython_advertising = false;
}
bool common_hal_bleio_adapter_get_advertising(bleio_adapter_obj_t *self) {
check_enabled(self);
return self->now_advertising;
}
bool common_hal_bleio_adapter_get_connected(bleio_adapter_obj_t *self) {
check_enabled(self);
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
bleio_connection_internal_t *connection = &bleio_connections[i];
if (connection->conn_handle != BLE_CONN_HANDLE_INVALID) {
return true;
}
}
return false;
}
mp_obj_t common_hal_bleio_adapter_get_connections(bleio_adapter_obj_t *self) {
check_enabled(self);
if (self->connection_objs != NULL) {
return self->connection_objs;
}
size_t total_connected = 0;
mp_obj_t items[BLEIO_TOTAL_CONNECTION_COUNT];
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
bleio_connection_internal_t *connection = &bleio_connections[i];
if (connection->conn_handle != BLE_CONN_HANDLE_INVALID) {
if (connection->connection_obj == mp_const_none) {
connection->connection_obj = bleio_connection_new_from_internal(connection);
}
items[total_connected] = connection->connection_obj;
total_connected++;
}
}
self->connection_objs = mp_obj_new_tuple(total_connected, items);
return self->connection_objs;
}
void common_hal_bleio_adapter_erase_bonding(bleio_adapter_obj_t *self) {
// TODO
mp_raise_NotImplementedError(NULL);
check_enabled(self);
// FIX bonding_erase_storage();
}
uint16_t bleio_adapter_add_attribute(bleio_adapter_obj_t *adapter, mp_obj_t *attribute) {
check_enabled(adapter);
// The handle is the index of this attribute in the attributes list.
uint16_t handle = (uint16_t)adapter->attributes->len;
mp_obj_list_append(adapter->attributes, attribute);
if (mp_obj_is_type(attribute, &bleio_service_type)) {
adapter->last_added_service_handle = handle;
}
if (mp_obj_is_type(attribute, &bleio_characteristic_type)) {
adapter->last_added_characteristic_handle = handle;
}
return handle;
}
mp_obj_t *bleio_adapter_get_attribute(bleio_adapter_obj_t *adapter, uint16_t handle) {
check_enabled(adapter);
if (handle == 0 || handle >= adapter->attributes->len) {
return mp_const_none;
}
return adapter->attributes->items[handle];
}
uint16_t bleio_adapter_max_attribute_handle(bleio_adapter_obj_t *adapter) {
check_enabled(adapter);
return adapter->attributes->len - 1;
}
void bleio_adapter_gc_collect(bleio_adapter_obj_t *adapter) {
gc_collect_root((void **)adapter, sizeof(bleio_adapter_obj_t) / sizeof(size_t));
gc_collect_root((void **)bleio_connections, sizeof(bleio_connections) / sizeof(size_t));
}
void bleio_adapter_reset(bleio_adapter_obj_t *adapter) {
if (!common_hal_bleio_adapter_get_enabled(adapter)) {
return;
}
// Adapter will be reset.
common_hal_bleio_adapter_set_enabled(adapter, false);
adapter->connection_objs = NULL;
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
bleio_connection_internal_t *connection = &bleio_connections[i];
// Disconnect all connections with Python state cleanly. Keep any supervisor-only connections.
if (connection->connection_obj != mp_const_none &&
connection->conn_handle != BLE_CONN_HANDLE_INVALID) {
common_hal_bleio_connection_disconnect(connection);
}
connection->connection_obj = mp_const_none;
}
}
void bleio_adapter_background(bleio_adapter_obj_t *adapter) {
if (!common_hal_bleio_adapter_get_enabled(adapter)) {
return;
}
if (adapter->advertising_timeout_msecs > 0 &&
supervisor_ticks_ms64() - adapter->advertising_start_ticks > adapter->advertising_timeout_msecs) {
adapter->advertising_timeout_msecs = 0;
common_hal_bleio_adapter_stop_advertising(adapter);
}
hci_result_t result = hci_poll_for_incoming_pkt();
if (result != HCI_OK) {
mp_printf(&mp_plat_print, "bad hci_poll_for_incoming_pkt() result in background: %d\n", result);
}
}

View file

@ -0,0 +1,99 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
* Copyright (c) 2016 Glenn Ruben Bakke
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_ADAPTER_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_ADAPTER_H
#include "py/obj.h"
#include "py/objtuple.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Connection.h"
#include "shared-bindings/_bleio/ScanResults.h"
#include "shared-bindings/busio/UART.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
#ifndef BLEIO_TOTAL_CONNECTION_COUNT
#define BLEIO_TOTAL_CONNECTION_COUNT 5
#endif
extern bleio_connection_internal_t bleio_connections[BLEIO_TOTAL_CONNECTION_COUNT];
typedef struct _bleio_adapter_obj_t {
mp_obj_base_t base;
bleio_scanresults_obj_t *scan_results;
mp_obj_t name;
mp_obj_tuple_t *connection_objs;
busio_uart_obj_t *hci_uart;
digitalio_digitalinout_obj_t *rts_digitalinout;
digitalio_digitalinout_obj_t *cts_digitalinout;
bool allocated; // True when in use.
bool now_advertising;
bool extended_advertising;
bool circuitpython_advertising;
bool enabled;
// HCI adapter version info.
uint8_t hci_version;
uint8_t lmp_version;
uint16_t hci_revision;
uint16_t manufacturer;
uint16_t lmp_subversion;
// Used to monitor advertising timeout for legacy avertising.
uint64_t advertising_start_ticks;
uint64_t advertising_timeout_msecs; // If zero, do not check.
// Generic services characteristics.
bleio_characteristic_obj_t *device_name_characteristic;
bleio_characteristic_obj_t *appearance_characteristic;
bleio_characteristic_obj_t *service_changed_characteristic;
uint16_t max_acl_buffer_len;
uint16_t max_acl_num_buffers;
uint16_t max_adv_data_len;
uint8_t features[8]; // Supported BLE features.
// All the local attributes for this device. The index into the list
// corresponds to the handle.
mp_obj_list_t *attributes;
// Handle for last added service. Characteristics can only be added immediately after
// the service they belong to. This vets that.
uint16_t last_added_service_handle;
uint16_t last_added_characteristic_handle;
} bleio_adapter_obj_t;
uint16_t bleio_adapter_add_attribute(bleio_adapter_obj_t *adapter, mp_obj_t *attribute);
void bleio_adapter_advertising_was_stopped(bleio_adapter_obj_t *self);
mp_obj_t *bleio_adapter_get_attribute(bleio_adapter_obj_t *adapter, uint16_t handle);
uint16_t bleio_adapter_max_attribute_handle(bleio_adapter_obj_t *adapter);
void bleio_adapter_background(bleio_adapter_obj_t *adapter);
void bleio_adapter_gc_collect(bleio_adapter_obj_t *adapter);
void bleio_adapter_reset(bleio_adapter_obj_t *adapter);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_ADAPTER_H

View file

@ -0,0 +1,49 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/runtime.h"
#include "shared-bindings/_bleio/Attribute.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Descriptor.h"
#include "shared-bindings/_bleio/Service.h"
bleio_uuid_obj_t *bleio_attribute_get_uuid(mp_obj_t *attribute) {
if (mp_obj_is_type(attribute, &bleio_characteristic_type)) {
bleio_characteristic_obj_t *characteristic = MP_OBJ_TO_PTR(attribute);
return characteristic->uuid;
}
if (mp_obj_is_type(attribute, &bleio_descriptor_type)) {
bleio_descriptor_obj_t *descriptor = MP_OBJ_TO_PTR(attribute);
return descriptor->uuid;
}
if (mp_obj_is_type(attribute, &bleio_service_type)) {
bleio_service_obj_t *service = MP_OBJ_TO_PTR(attribute);
return service->uuid;
}
mp_raise_RuntimeError(translate("Invalid BLE attribute"));
}

View file

@ -0,0 +1,35 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Dan Halbert for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_ATTRIBUTE_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_ATTRIBUTE_H
#include "shared-module/_bleio/Attribute.h"
#include "shared-bindings/_bleio/UUID.h"
bleio_uuid_obj_t *bleio_attribute_get_uuid(mp_obj_t *attribute);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_ATTRIBUTE_H

View file

@ -0,0 +1,232 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/runtime.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/CharacteristicBuffer.h"
#include "shared-bindings/_bleio/Descriptor.h"
#include "shared-bindings/_bleio/PacketBuffer.h"
#include "shared-bindings/_bleio/Service.h"
#include "common-hal/_bleio/Adapter.h"
#include "common-hal/_bleio/att.h"
#define CCCD_NOTIFY 0x1
#define CCCD_INDICATE 0x2
void common_hal_bleio_characteristic_construct(bleio_characteristic_obj_t *self, bleio_service_obj_t *service, uint16_t handle, bleio_uuid_obj_t *uuid, bleio_characteristic_properties_t props, bleio_attribute_security_mode_t read_perm, bleio_attribute_security_mode_t write_perm, mp_int_t max_length, bool fixed_length, mp_buffer_info_t *initial_value_bufinfo) {
self->service = service;
self->uuid = uuid;
self->decl_handle = BLE_GATT_HANDLE_INVALID;
self->handle = BLE_GATT_HANDLE_INVALID;
self->props = props;
self->read_perm = read_perm;
self->write_perm = write_perm;
self->descriptor_list = mp_obj_new_list(0, NULL);
self->observer = mp_const_none;
self->user_desc = NULL;
self->cccd = NULL;
self->sccd = NULL;
self->value = mp_obj_new_bytes(initial_value_bufinfo->buf, initial_value_bufinfo->len);
const mp_int_t max_length_max = 512;
if (max_length < 0 || max_length > max_length_max) {
mp_raise_ValueError(translate("max_length must be <= 512"));
}
self->max_length = max_length;
self->fixed_length = fixed_length;
if (service->is_remote) {
self->handle = handle;
} else {
common_hal_bleio_service_add_characteristic(self->service, self, initial_value_bufinfo);
}
}
mp_obj_tuple_t *common_hal_bleio_characteristic_get_descriptors(bleio_characteristic_obj_t *self) {
return mp_obj_new_tuple(self->descriptor_list->len, self->descriptor_list->items);
}
bleio_service_obj_t *common_hal_bleio_characteristic_get_service(bleio_characteristic_obj_t *self) {
return self->service;
}
size_t common_hal_bleio_characteristic_get_max_length(bleio_characteristic_obj_t *self) {
return self->max_length;
}
size_t common_hal_bleio_characteristic_get_value(bleio_characteristic_obj_t *self, uint8_t *buf, size_t len) {
// Do GATT operations only if this characteristic has been added to a registered service.
if (self->handle != BLE_GATT_HANDLE_INVALID) {
// FIX uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
if (common_hal_bleio_service_get_is_remote(self->service)) {
// FIX read remote chars
// uint8_t rsp[MAX(len, 512)];
// FIX improve att_read_req to write into our requested buffer.
// return att_read_req(conn_handle, self->handle, rsp);
return 0; // FIX
} else {
mp_buffer_info_t bufinfo;
if (!mp_get_buffer(self->value, &bufinfo, MP_BUFFER_READ)) {
return 0;
}
const size_t actual_length = MIN(len, bufinfo.len);
memcpy(buf, bufinfo.buf, actual_length);
return actual_length;
}
}
return 0;
}
void common_hal_bleio_characteristic_set_value(bleio_characteristic_obj_t *self, mp_buffer_info_t *bufinfo) {
if (self->fixed_length && bufinfo->len != self->max_length) {
mp_raise_ValueError(translate("Value length != required fixed length"));
}
if (bufinfo->len > self->max_length) {
mp_raise_ValueError(translate("Value length > max_length"));
}
// Do GATT operations only if this characteristic has been added to a registered service.
if (self->handle != BLE_GATT_HANDLE_INVALID) {
if (common_hal_bleio_service_get_is_remote(self->service)) {
// FIX uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
if (self->props & CHAR_PROP_WRITE) {
// FIX writing remote chars
// uint8_t rsp[sizeof(bt_att_error_rsp)];
// att_write_req(conn_handle, self->handle, bufinfo->buf, bufinfo->len, rsp);
} else if (self->props & CHAR_PROP_WRITE_NO_RESPONSE) {
// att_write_cmd(conn_handle, self->handle, bufinfo->buff, bufinfo->len);
} else {
mp_raise_bleio_BluetoothError(translate("Characteristic not writable"));
}
} else {
// Always write the value locally even if no connections are active.
bleio_characteristic_set_local_value(self, bufinfo);
// Notify or indicate all active connections.
uint16_t cccd_value = 0;
mp_buffer_info_t cccd_bufinfo = {
.buf = &cccd_value,
.len = sizeof(cccd_value),
};
const bool notify = self->props & CHAR_PROP_NOTIFY;
const bool indicate = self->props & CHAR_PROP_INDICATE;
// Read the CCCD value, if there is one.
if ((notify | indicate) && self->cccd != NULL) {
common_hal_bleio_descriptor_get_value(self->cccd, cccd_bufinfo.buf, cccd_bufinfo.len);
}
// It's possible that both notify and indicate are set.
if (notify && (cccd_value & CCCD_NOTIFY)) {
att_notify(self->handle, bufinfo->buf, MIN(bufinfo->len, self->max_length));
}
if (indicate && (cccd_value & CCCD_INDICATE)) {
att_indicate(self->handle, bufinfo->buf, MIN(bufinfo->len, self->max_length));
}
}
}
}
bleio_uuid_obj_t *common_hal_bleio_characteristic_get_uuid(bleio_characteristic_obj_t *self) {
return self->uuid;
}
bleio_characteristic_properties_t common_hal_bleio_characteristic_get_properties(bleio_characteristic_obj_t *self) {
return self->props;
}
void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t *self, bleio_descriptor_obj_t *descriptor) {
if (self->handle != common_hal_bleio_adapter_obj.last_added_characteristic_handle) {
mp_raise_bleio_BluetoothError(
translate("Descriptor can only be added to most recently added characteristic"));
}
descriptor->handle = bleio_adapter_add_attribute(&common_hal_bleio_adapter_obj, MP_OBJ_TO_PTR(descriptor));
// Include this descriptor in the service handle's range.
self->service->end_handle = descriptor->handle;
mp_obj_list_append(MP_OBJ_FROM_PTR(self->descriptor_list),
MP_OBJ_FROM_PTR(descriptor));
}
void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self, bool notify, bool indicate) {
if (self->cccd == NULL) {
mp_raise_bleio_BluetoothError(translate("No CCCD for this Characteristic"));
}
if (!common_hal_bleio_service_get_is_remote(self->service)) {
mp_raise_bleio_RoleError(translate("Can't set CCCD on local Characteristic"));
}
const uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
common_hal_bleio_check_connected(conn_handle);
uint16_t cccd_value =
(notify ? CCCD_NOTIFY : 0) |
(indicate ? CCCD_INDICATE : 0);
// FIX do remote
(void)cccd_value;
// uint8_t rsp[sizeof(bt_att_error_rsp)];
// if (att_write_req(conn_handle, self->cccd->handle, &cccd_value, sizeof(cccd_value)) == 0) {
// mp_raise_bleio_BluetoothError(translate("Could not write CCCD"));
// }
}
bool bleio_characteristic_set_local_value(bleio_characteristic_obj_t *self, mp_buffer_info_t *bufinfo) {
if (self->fixed_length && bufinfo->len != self->max_length) {
return false;
}
if (bufinfo->len > self->max_length) {
return false;
}
self->value = mp_obj_new_bytes(bufinfo->buf, bufinfo->len);
if (mp_obj_is_type(self->observer, &bleio_characteristic_buffer_type)) {
bleio_characteristic_buffer_update(MP_OBJ_FROM_PTR(self->observer), bufinfo);
} else if (mp_obj_is_type(self->observer, &bleio_packet_buffer_type)) {
bleio_packet_buffer_update(MP_OBJ_FROM_PTR(self->observer), bufinfo);
} else {
return false;
}
return true;
}
void bleio_characteristic_set_observer(bleio_characteristic_obj_t *self, mp_obj_t observer) {
self->observer = observer;
}
void bleio_characteristic_clear_observer(bleio_characteristic_obj_t *self) {
self->observer = mp_const_none;
}

View file

@ -0,0 +1,63 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CHARACTERISTIC_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CHARACTERISTIC_H
#include "shared-bindings/_bleio/Attribute.h"
#include "common-hal/_bleio/Descriptor.h"
#include "shared-module/_bleio/Characteristic.h"
#include "common-hal/_bleio/Service.h"
#include "common-hal/_bleio/UUID.h"
typedef struct _bleio_characteristic_obj {
mp_obj_base_t base;
// Will be MP_OBJ_NULL before being assigned to a Service.
bleio_service_obj_t *service;
bleio_uuid_obj_t *uuid;
mp_obj_t value;
mp_obj_t observer;
mp_obj_list_t *descriptor_list;
uint16_t max_length;
bool fixed_length;
uint16_t decl_handle;
uint16_t handle; // Should be decl_handle+1.
bleio_characteristic_properties_t props;
bleio_attribute_security_mode_t read_perm;
bleio_attribute_security_mode_t write_perm;
bleio_descriptor_obj_t *descriptor_linked_list;
bleio_descriptor_obj_t *user_desc;
bleio_descriptor_obj_t *cccd;
bleio_descriptor_obj_t *sccd;
} bleio_characteristic_obj_t;
bool bleio_characteristic_set_local_value(bleio_characteristic_obj_t *self, mp_buffer_info_t *bufinfo);
void bleio_characteristic_set_observer(bleio_characteristic_obj_t *self, mp_obj_t observer);
void bleio_characteristic_clear_observer(bleio_characteristic_obj_t *self);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CHARACTERISTIC_H

View file

@ -0,0 +1,104 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <string.h>
#include <stdio.h>
#include "lib/utils/interrupt_char.h"
#include "py/runtime.h"
#include "py/stream.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Connection.h"
#include "supervisor/shared/tick.h"
#include "common-hal/_bleio/CharacteristicBuffer.h"
// Push all the data onto the ring buffer. When the buffer is full, new bytes will be dropped.
STATIC void write_to_ringbuf(bleio_characteristic_buffer_obj_t *self, uint8_t *data, uint16_t len) {
ringbuf_put_n(&self->ringbuf, data, len);
}
void bleio_characteristic_buffer_update(bleio_characteristic_buffer_obj_t *self, mp_buffer_info_t *bufinfo) {
write_to_ringbuf(self, bufinfo->buf, bufinfo->len);
}
// Assumes that timeout and buffer_size have been validated before call.
void common_hal_bleio_characteristic_buffer_construct(bleio_characteristic_buffer_obj_t *self,
bleio_characteristic_obj_t *characteristic,
mp_float_t timeout,
size_t buffer_size) {
self->characteristic = characteristic;
self->timeout_ms = timeout * 1000;
// This is a macro.
// true means long-lived, so it won't be moved.
ringbuf_alloc(&self->ringbuf, buffer_size, true);
bleio_characteristic_set_observer(characteristic, self);
}
uint32_t common_hal_bleio_characteristic_buffer_read(bleio_characteristic_buffer_obj_t *self, uint8_t *data, size_t len, int *errcode) {
uint64_t start_ticks = supervisor_ticks_ms64();
// Wait for all bytes received or timeout
while ((ringbuf_num_filled(&self->ringbuf) < len) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms)) {
RUN_BACKGROUND_TASKS;
// Allow user to break out of a timeout with a KeyboardInterrupt.
if (mp_hal_is_interrupted()) {
return 0;
}
}
uint32_t num_bytes_read = ringbuf_get_n(&self->ringbuf, data, len);
return num_bytes_read;
}
uint32_t common_hal_bleio_characteristic_buffer_rx_characters_available(bleio_characteristic_buffer_obj_t *self) {
uint16_t count = ringbuf_num_filled(&self->ringbuf);
return count;
}
void common_hal_bleio_characteristic_buffer_clear_rx_buffer(bleio_characteristic_buffer_obj_t *self) {
ringbuf_clear(&self->ringbuf);
}
bool common_hal_bleio_characteristic_buffer_deinited(bleio_characteristic_buffer_obj_t *self) {
return self->characteristic == NULL;
}
void common_hal_bleio_characteristic_buffer_deinit(bleio_characteristic_buffer_obj_t *self) {
if (!common_hal_bleio_characteristic_buffer_deinited(self)) {
bleio_characteristic_clear_observer(self->characteristic);
}
}
bool common_hal_bleio_characteristic_buffer_connected(bleio_characteristic_buffer_obj_t *self) {
return self->characteristic != NULL &&
self->characteristic->service != NULL &&
(!self->characteristic->service->is_remote ||
(self->characteristic->service->connection != MP_OBJ_NULL &&
common_hal_bleio_connection_get_connected(self->characteristic->service->connection)));
}

View file

@ -0,0 +1,43 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CHARACTERISTICBUFFER_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CHARACTERISTICBUFFER_H
#include "py/ringbuf.h"
#include "shared-bindings/_bleio/Characteristic.h"
typedef struct {
mp_obj_base_t base;
bleio_characteristic_obj_t *characteristic;
uint32_t timeout_ms;
// Ring buffer storing consecutive incoming values.
ringbuf_t ringbuf;
} bleio_characteristic_buffer_obj_t;
void bleio_characteristic_buffer_update(bleio_characteristic_buffer_obj_t *self, mp_buffer_info_t *bufinfo);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CHARACTERISTICBUFFER_H

View file

@ -0,0 +1,772 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "shared-bindings/_bleio/Connection.h"
#include "att.h"
#include <string.h>
#include <stdio.h>
#include "lib/utils/interrupt_char.h"
#include "py/gc.h"
#include "py/objlist.h"
#include "py/objstr.h"
#include "py/qstr.h"
#include "py/runtime.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Adapter.h"
#include "shared-bindings/_bleio/Attribute.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Service.h"
#include "shared-bindings/_bleio/UUID.h"
#include "supervisor/shared/tick.h"
#define BLE_ADV_LENGTH_FIELD_SIZE 1
#define BLE_ADV_AD_TYPE_FIELD_SIZE 1
#define BLE_AD_TYPE_FLAGS_DATA_SIZE 1
// static const ble_gap_sec_params_t pairing_sec_params = {
// .bond = 1,
// .mitm = 0,
// .lesc = 0,
// .keypress = 0,
// .oob = 0,
// .io_caps = BLE_GAP_IO_CAPS_NONE,
// .min_key_size = 7,
// .max_key_size = 16,
// .kdist_own = { .enc = 1, .id = 1},
// .kdist_peer = { .enc = 1, .id = 1},
// };
#define CONNECTION_DEBUG (1)
#if CONNECTION_DEBUG
#define CONNECTION_DEBUG_PRINTF(...) printf(__VA_ARGS__)
#else
#define CONNECTION_DEBUG_PRINTF(...)
#endif
static volatile bool m_discovery_in_process;
static volatile bool m_discovery_successful;
// FIX static bleio_service_obj_t *m_char_discovery_service;
// FIX static bleio_characteristic_obj_t *m_desc_discovery_characteristic;
// bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
// bleio_connection_internal_t *self = (bleio_connection_internal_t*)self_in;
// if (BLE_GAP_EVT_BASE <= ble_evt->header.evt_id && ble_evt->header.evt_id <= BLE_GAP_EVT_LAST &&
// ble_evt->evt.gap_evt.conn_handle != self->conn_handle) {
// return false;
// }
// if (BLE_GATTS_EVT_BASE <= ble_evt->header.evt_id && ble_evt->header.evt_id <= BLE_GATTS_EVT_LAST &&
// ble_evt->evt.gatts_evt.conn_handle != self->conn_handle) {
// return false;
// }
// switch (ble_evt->header.evt_id) {
// case BLE_GAP_EVT_DISCONNECTED:
// // Adapter.c does the work for this event.
// break;
// case BLE_GAP_EVT_PHY_UPDATE_REQUEST: {
// ble_gap_phys_t const phys = {
// .rx_phys = BLE_GAP_PHY_AUTO,
// .tx_phys = BLE_GAP_PHY_AUTO,
// };
// sd_ble_gap_phy_update(ble_evt->evt.gap_evt.conn_handle, &phys);
// break;
// }
// case BLE_GAP_EVT_PHY_UPDATE: { // 0x22
// break;
// }
// case BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST:
// // SoftDevice will respond to a length update request.
// sd_ble_gap_data_length_update(self->conn_handle, NULL, NULL);
// break;
// case BLE_GAP_EVT_DATA_LENGTH_UPDATE: { // 0x24
// break;
// }
// case BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST: {
// ble_gatts_evt_exchange_mtu_request_t *request =
// &ble_evt->evt.gatts_evt.params.exchange_mtu_request;
// uint16_t new_mtu = BLE_GATTS_VAR_ATTR_LEN_MAX;
// if (request->client_rx_mtu < new_mtu) {
// new_mtu = request->client_rx_mtu;
// }
// if (new_mtu < BLE_GATT_ATT_MTU_DEFAULT) {
// new_mtu = BLE_GATT_ATT_MTU_DEFAULT;
// }
// if (self->mtu > 0) {
// new_mtu = self->mtu;
// }
// self->mtu = new_mtu;
// sd_ble_gatts_exchange_mtu_reply(self->conn_handle, new_mtu);
// break;
// }
// case BLE_GATTC_EVT_EXCHANGE_MTU_RSP: {
// ble_gattc_evt_exchange_mtu_rsp_t *response =
// &ble_evt->evt.gattc_evt.params.exchange_mtu_rsp;
// self->mtu = response->server_rx_mtu;
// break;
// }
// case BLE_GATTS_EVT_WRITE:
// // A client wrote a value.
// // If we are bonded and it's a CCCD (UUID 0x2902), store the CCCD value.
// if (self->conn_handle != BLE_CONN_HANDLE_INVALID &&
// self->pair_status == PAIR_PAIRED &&
// ble_evt->evt.gatts_evt.params.write.uuid.type == BLE_UUID_TYPE_BLE &&
// ble_evt->evt.gatts_evt.params.write.uuid.uuid == 0x2902) {
// //
// // Save sys_attr data (CCCD state) in bonding area at
// // next opportunity, but also remember time of this
// // request, so we can consolidate closely-spaced requests.
// self->do_bond_cccds = true;
// self->do_bond_cccds_request_time = supervisor_ticks_ms64();
// }
// // Return false so other handlers get this event as well.
// return false;
// case BLE_GATTS_EVT_SYS_ATTR_MISSING:
// sd_ble_gatts_sys_attr_set(self->conn_handle, NULL, 0, 0);
// break;
// #if CIRCUITPY_VERBOSE_BLE
// // Use read authorization to snoop on all reads when doing verbose debugging.
// case BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST: {
// ble_gatts_evt_rw_authorize_request_t *request =
// &ble_evt->evt.gatts_evt.params.authorize_request;
// mp_printf(&mp_plat_print, "Read %x offset %d ", request->request.read.handle, request->request.read.offset);
// uint8_t value_bytes[22];
// ble_gatts_value_t value;
// value.offset = request->request.read.offset;
// value.len = 22;
// value.p_value = value_bytes;
// sd_ble_gatts_value_get(self->conn_handle, request->request.read.handle, &value);
// size_t len = value.len;
// if (len > 22) {
// len = 22;
// }
// for (uint8_t i = 0; i < len; i++) {
// mp_printf(&mp_plat_print, " %02x", value_bytes[i]);
// }
// mp_printf(&mp_plat_print, "\n");
// ble_gatts_rw_authorize_reply_params_t reply;
// reply.type = request->type;
// reply.params.read.gatt_status = BLE_GATT_STATUS_SUCCESS;
// reply.params.read.update = false;
// reply.params.read.offset = request->request.read.offset;
// sd_ble_gatts_rw_authorize_reply(self->conn_handle, &reply);
// break;
// }
// #endif
// case BLE_GATTS_EVT_HVN_TX_COMPLETE: // Capture this for now. 0x55
// break;
// case BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST: {
// self->conn_params_updating = true;
// ble_gap_evt_conn_param_update_request_t *request =
// &ble_evt->evt.gap_evt.params.conn_param_update_request;
// sd_ble_gap_conn_param_update(self->conn_handle, &request->conn_params);
// break;
// }
// case BLE_GAP_EVT_CONN_PARAM_UPDATE: { // 0x12
// ble_gap_evt_conn_param_update_t *result =
// &ble_evt->evt.gap_evt.params.conn_param_update;
// #if CIRCUITPY_VERBOSE_BLE
// ble_gap_conn_params_t *cp = &ble_evt->evt.gap_evt.params.conn_param_update.conn_params;
// mp_printf(&mp_plat_print, "conn params updated: min_ci %d max_ci %d s_l %d sup_timeout %d\n", cp->min_conn_interval, cp->max_conn_interval, cp->slave_latency, cp->conn_sup_timeout);
// #endif
// memcpy(&self->conn_params, &result->conn_params, sizeof(ble_gap_conn_params_t));
// self->conn_params_updating = false;
// break;
// }
// case BLE_GAP_EVT_SEC_PARAMS_REQUEST: {
// // First time pairing.
// // 1. Either we or peer initiate the process
// // 2. Peer asks for security parameters using BLE_GAP_EVT_SEC_PARAMS_REQUEST.
// // 3. Pair Key exchange ("just works" implemented now; TODO: out-of-band key pairing)
// // 4. Connection is secured: BLE_GAP_EVT_CONN_SEC_UPDATE
// // 5. Long-term Keys exchanged: BLE_GAP_EVT_AUTH_STATUS
// bonding_clear_keys(&self->bonding_keys);
// self->ediv = EDIV_INVALID;
// ble_gap_sec_keyset_t keyset = {
// .keys_own = {
// .p_enc_key = &self->bonding_keys.own_enc,
// .p_id_key = NULL,
// .p_sign_key = NULL,
// .p_pk = NULL
// },
// .keys_peer = {
// .p_enc_key = &self->bonding_keys.peer_enc,
// .p_id_key = &self->bonding_keys.peer_id,
// .p_sign_key = NULL,
// .p_pk = NULL
// }
// };
// sd_ble_gap_sec_params_reply(self->conn_handle, BLE_GAP_SEC_STATUS_SUCCESS,
// self->is_central ? NULL : &pairing_sec_params,
// &keyset);
// break;
// }
// case BLE_GAP_EVT_LESC_DHKEY_REQUEST:
// // TODO for LESC pairing:
// // sd_ble_gap_lesc_dhkey_reply(...);
// break;
// case BLE_GAP_EVT_AUTH_STATUS: { // 0x19
// // Key exchange completed.
// ble_gap_evt_auth_status_t* status = &ble_evt->evt.gap_evt.params.auth_status;
// self->sec_status = status->auth_status;
// if (status->auth_status == BLE_GAP_SEC_STATUS_SUCCESS) {
// self->ediv = self->bonding_keys.own_enc.master_id.ediv;
// self->pair_status = PAIR_PAIRED;
// // Save keys in bonding area at next opportunity.
// self->do_bond_keys = true;
// } else {
// // Inform busy-waiter pairing has failed.
// self->pair_status = PAIR_NOT_PAIRED;
// }
// break;
// }
// case BLE_GAP_EVT_SEC_INFO_REQUEST: { // 0x14
// // Peer asks for the stored keys.
// // - load key and return if bonded previously.
// // - Else return NULL --> Initiate key exchange
// ble_gap_evt_sec_info_request_t* sec_info_request = &ble_evt->evt.gap_evt.params.sec_info_request;
// (void) sec_info_request;
// if ( bonding_load_keys(self->is_central, sec_info_request->master_id.ediv, &self->bonding_keys) ) {
// sd_ble_gap_sec_info_reply(
// self->conn_handle,
// &self->bonding_keys.own_enc.enc_info,
// &self->bonding_keys.peer_id.id_info,
// NULL);
// self->ediv = self->bonding_keys.own_enc.master_id.ediv;
// } else {
// // We don't have stored keys. Ask for keys.
// sd_ble_gap_sec_info_reply(self->conn_handle, NULL, NULL, NULL);
// }
// break;
// }
// case BLE_GAP_EVT_CONN_SEC_UPDATE: { // 0x1a
// // We get this both on first-time pairing and on subsequent pairings using stored keys.
// ble_gap_conn_sec_t* conn_sec = &ble_evt->evt.gap_evt.params.conn_sec_update.conn_sec;
// if (conn_sec->sec_mode.sm <= 1 && conn_sec->sec_mode.lv <= 1) {
// // Security setup did not succeed:
// // mode 0, level 0 means no access
// // mode 1, level 1 means open link
// // mode >=1 and/or level >=1 means encryption is set up
// self->pair_status = PAIR_NOT_PAIRED;
// } else {
// if (bonding_load_cccd_info(self->is_central, self->conn_handle, self->ediv)) {
// // Did an sd_ble_gatts_sys_attr_set() with the stored sys_attr values.
// } else {
// // No matching bonding found, so use fresh system attributes.
// sd_ble_gatts_sys_attr_set(self->conn_handle, NULL, 0, 0);
// }
// self->pair_status = PAIR_PAIRED;
// }
// break;
// }
// default:
// return false;
// }
// return true;
// }
void bleio_connection_clear(bleio_connection_internal_t *self) {
mp_obj_list_clear(MP_OBJ_FROM_PTR(self->remote_service_list));
self->conn_handle = BLE_CONN_HANDLE_INVALID;
self->pair_status = PAIR_NOT_PAIRED;
self->is_central = false;
// FIX bonding_clear_keys(&self->bonding_keys);
}
bool common_hal_bleio_connection_get_paired(bleio_connection_obj_t *self) {
if (self->connection == NULL) {
return false;
}
return self->connection->pair_status == PAIR_PAIRED;
}
bool common_hal_bleio_connection_get_connected(bleio_connection_obj_t *self) {
if (self->connection == NULL) {
return false;
}
return self->connection->conn_handle != BLE_CONN_HANDLE_INVALID;
}
void common_hal_bleio_connection_disconnect(bleio_connection_internal_t *self) {
hci_disconnect(self->conn_handle);
}
void common_hal_bleio_connection_pair(bleio_connection_internal_t *self, bool bond) {
self->pair_status = PAIR_WAITING;
// FIX check_nrf_error(sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params));
while (self->pair_status == PAIR_WAITING && !mp_hal_is_interrupted()) {
RUN_BACKGROUND_TASKS;
}
if (mp_hal_is_interrupted()) {
return;
}
// FIX check_sec_status(self->sec_status);
}
mp_float_t common_hal_bleio_connection_get_connection_interval(bleio_connection_internal_t *self) {
while (self->conn_params_updating && !mp_hal_is_interrupted()) {
RUN_BACKGROUND_TASKS;
}
// FIX return 1.25f * self->conn_params.min_conn_interval;
return 0.0f;
}
// Return the current negotiated MTU length, minus overhead.
mp_int_t common_hal_bleio_connection_get_max_packet_length(bleio_connection_internal_t *self) {
return (self->mtu == 0 ? BT_ATT_DEFAULT_LE_MTU : self->mtu) - 3;
}
void common_hal_bleio_connection_set_connection_interval(bleio_connection_internal_t *self, mp_float_t new_interval) {
// self->conn_params_updating = true;
// uint16_t interval = new_interval / 1.25f;
// self->conn_params.min_conn_interval = interval;
// self->conn_params.max_conn_interval = interval;
// uint32_t status = NRF_ERROR_BUSY;
// while (status == NRF_ERROR_BUSY) {
// status = sd_ble_gap_conn_param_update(self->conn_handle, &self->conn_params);
// RUN_BACKGROUND_TASKS;
// }
// check_nrf_error(status);
}
// service_uuid may be NULL, to discover all services.
// STATIC bool discover_next_services(bleio_connection_internal_t* connection, uint16_t start_handle, ble_uuid_t *service_uuid) {
// m_discovery_successful = false;
// m_discovery_in_process = true;
// uint32_t nrf_err = NRF_ERROR_BUSY;
// while (nrf_err == NRF_ERROR_BUSY) {
// nrf_err = sd_ble_gattc_primary_services_discover(connection->conn_handle, start_handle, service_uuid);
// }
// check_nrf_error(nrf_err);
// // Wait for a discovery event.
// while (m_discovery_in_process) {
// MICROPY_VM_HOOK_LOOP;
// }
// return m_discovery_successful;
// }
// STATIC bool discover_next_characteristics(bleio_connection_internal_t* connection, bleio_service_obj_t *service, uint16_t start_handle) {
// m_char_discovery_service = service;
// ble_gattc_handle_range_t handle_range;
// handle_range.start_handle = start_handle;
// handle_range.end_handle = service->end_handle;
// m_discovery_successful = false;
// m_discovery_in_process = true;
// uint32_t err_code = sd_ble_gattc_characteristics_discover(connection->conn_handle, &handle_range);
// if (err_code != NRF_SUCCESS) {
// return false;
// }
// // Wait for a discovery event.
// while (m_discovery_in_process) {
// MICROPY_VM_HOOK_LOOP;
// }
// return m_discovery_successful;
// }
// STATIC bool discover_next_descriptors(bleio_connection_internal_t* connection, bleio_characteristic_obj_t *characteristic, uint16_t start_handle, uint16_t end_handle) {
// m_desc_discovery_characteristic = characteristic;
// ble_gattc_handle_range_t handle_range;
// handle_range.start_handle = start_handle;
// handle_range.end_handle = end_handle;
// m_discovery_successful = false;
// m_discovery_in_process = true;
// uint32_t err_code = sd_ble_gattc_descriptors_discover(connection->conn_handle, &handle_range);
// if (err_code != NRF_SUCCESS) {
// return false;
// }
// // Wait for a discovery event.
// while (m_discovery_in_process) {
// MICROPY_VM_HOOK_LOOP;
// }
// return m_discovery_successful;
// }
// STATIC void on_primary_srv_discovery_rsp(ble_gattc_evt_prim_srvc_disc_rsp_t *response, bleio_connection_internal_t* connection) {
// for (size_t i = 0; i < response->count; ++i) {
// ble_gattc_service_t *gattc_service = &response->services[i];
// bleio_service_obj_t *service = m_new_obj(bleio_service_obj_t);
// service->base.type = &bleio_service_type;
// // Initialize several fields at once.
// bleio_service_from_connection(service, bleio_connection_new_from_internal(connection));
// service->is_remote = true;
// service->start_handle = gattc_service->handle_range.start_handle;
// service->end_handle = gattc_service->handle_range.end_handle;
// service->handle = gattc_service->handle_range.start_handle;
// if (gattc_service->uuid.type != BLE_UUID_TYPE_UNKNOWN) {
// // Known service UUID.
// bleio_uuid_obj_t *uuid = m_new_obj(bleio_uuid_obj_t);
// uuid->base.type = &bleio_uuid_type;
// bleio_uuid_construct_from_nrf_ble_uuid(uuid, &gattc_service->uuid);
// service->uuid = uuid;
// } else {
// // The discovery response contained a 128-bit UUID that has not yet been registered with the
// // softdevice via sd_ble_uuid_vs_add(). We need to fetch the 128-bit value and register it.
// // For now, just set the UUID to NULL.
// service->uuid = NULL;
// }
//
// mp_obj_list_append(MP_OBJ_FROM_PTR(connection->remote_service_list),
// MP_OBJ_FROM_PTR(service));
// }
//
// if (response->count > 0) {
// m_discovery_successful = true;
// }
// m_discovery_in_process = false;
// }
// STATIC void on_char_discovery_rsp(ble_gattc_evt_char_disc_rsp_t *response, bleio_connection_internal_t* connection) {
// for (size_t i = 0; i < response->count; ++i) {
// ble_gattc_char_t *gattc_char = &response->chars[i];
// bleio_characteristic_obj_t *characteristic = m_new_obj(bleio_characteristic_obj_t);
// characteristic->base.type = &bleio_characteristic_type;
// bleio_uuid_obj_t *uuid = NULL;
// if (gattc_char->uuid.type != BLE_UUID_TYPE_UNKNOWN) {
// // Known characteristic UUID.
// uuid = m_new_obj(bleio_uuid_obj_t);
// uuid->base.type = &bleio_uuid_type;
// bleio_uuid_construct_from_nrf_ble_uuid(uuid, &gattc_char->uuid);
// } else {
// // The discovery response contained a 128-bit UUID that has not yet been registered with the
// // softdevice via sd_ble_uuid_vs_add(). We need to fetch the 128-bit value and register it.
// // For now, just leave the UUID as NULL.
// }
// bleio_characteristic_properties_t props =
// (gattc_char->char_props.broadcast ? CHAR_PROP_BROADCAST : 0) |
// (gattc_char->char_props.indicate ? CHAR_PROP_INDICATE : 0) |
// (gattc_char->char_props.notify ? CHAR_PROP_NOTIFY : 0) |
// (gattc_char->char_props.read ? CHAR_PROP_READ : 0) |
// (gattc_char->char_props.write ? CHAR_PROP_WRITE : 0) |
// (gattc_char->char_props.write_wo_resp ? CHAR_PROP_WRITE_NO_RESPONSE : 0);
// // Call common_hal_bleio_characteristic_construct() to initalize some fields and set up evt handler.
// common_hal_bleio_characteristic_construct(
// characteristic, m_char_discovery_service, gattc_char->handle_value, uuid,
// props, SECURITY_MODE_OPEN, SECURITY_MODE_OPEN,
// GATT_MAX_DATA_LENGTH, false, // max_length, fixed_length: values may not matter for gattc
// NULL);
// mp_obj_list_append(MP_OBJ_FROM_PTR(m_char_discovery_service->characteristic_list),
// MP_OBJ_FROM_PTR(characteristic));
// }
// if (response->count > 0) {
// m_discovery_successful = true;
// }
// m_discovery_in_process = false;
// }
// STATIC void on_desc_discovery_rsp(ble_gattc_evt_desc_disc_rsp_t *response, bleio_connection_internal_t* connection) {
// for (size_t i = 0; i < response->count; ++i) {
// ble_gattc_desc_t *gattc_desc = &response->descs[i];
// // Remember handles for certain well-known descriptors.
// switch (gattc_desc->uuid.uuid) {
// case BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG:
// m_desc_discovery_characteristic->cccd_handle = gattc_desc->handle;
// break;
// case BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG:
// m_desc_discovery_characteristic->sccd_handle = gattc_desc->handle;
// break;
// case BLE_UUID_DESCRIPTOR_CHAR_USER_DESC:
// m_desc_discovery_characteristic->user_desc_handle = gattc_desc->handle;
// break;
// default:
// // TODO: sd_ble_gattc_descriptors_discover() can return things that are not descriptors,
// // so ignore those.
// // https://devzone.nordicsemi.com/f/nordic-q-a/49500/sd_ble_gattc_descriptors_discover-is-returning-attributes-that-are-not-descriptors
// break;
// }
// bleio_descriptor_obj_t *descriptor = m_new_obj(bleio_descriptor_obj_t);
// descriptor->base.type = &bleio_descriptor_type;
// bleio_uuid_obj_t *uuid = NULL;
// if (gattc_desc->uuid.type != BLE_UUID_TYPE_UNKNOWN) {
// // Known descriptor UUID.
// uuid = m_new_obj(bleio_uuid_obj_t);
// uuid->base.type = &bleio_uuid_type;
// bleio_uuid_construct_from_nrf_ble_uuid(uuid, &gattc_desc->uuid);
// } else {
// // The discovery response contained a 128-bit UUID that has not yet been registered with the
// // softdevice via sd_ble_uuid_vs_add(). We need to fetch the 128-bit value and register it.
// // For now, just leave the UUID as NULL.
// }
// common_hal_bleio_descriptor_construct(
// descriptor, m_desc_discovery_characteristic, uuid,
// SECURITY_MODE_OPEN, SECURITY_MODE_OPEN,
// GATT_MAX_DATA_LENGTH, false, mp_const_empty_bytes);
// descriptor->handle = gattc_desc->handle;
// mp_obj_list_append(MP_OBJ_FROM_PTR(m_desc_discovery_characteristic->descriptor_list),
// MP_OBJ_FROM_PTR(descriptor));
// }
// if (response->count > 0) {
// m_discovery_successful = true;
// }
// m_discovery_in_process = false;
// }
// STATIC bool discovery_on_ble_evt(ble_evt_t *ble_evt, mp_obj_t payload) {
// bleio_connection_internal_t* connection = MP_OBJ_TO_PTR(payload);
// switch (ble_evt->header.evt_id) {
// case BLE_GAP_EVT_DISCONNECTED:
// m_discovery_successful = false;
// m_discovery_in_process = false;
// break;
// case BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP:
// on_primary_srv_discovery_rsp(&ble_evt->evt.gattc_evt.params.prim_srvc_disc_rsp, connection);
// break;
// case BLE_GATTC_EVT_CHAR_DISC_RSP:
// on_char_discovery_rsp(&ble_evt->evt.gattc_evt.params.char_disc_rsp, connection);
// break;
// case BLE_GATTC_EVT_DESC_DISC_RSP:
// on_desc_discovery_rsp(&ble_evt->evt.gattc_evt.params.desc_disc_rsp, connection);
// break;
// default:
// // CONNECTION_DEBUG_PRINTF(&mp_plat_print, "Unhandled discovery event: 0x%04x\n", ble_evt->header.evt_id);
// return false;
// break;
// }
// return true;
// }
// STATIC void discover_remote_services(bleio_connection_internal_t *self, mp_obj_t service_uuids_whitelist) {
// ble_drv_add_event_handler(discovery_on_ble_evt, self);
// // Start over with an empty list.
// self->remote_service_list = mp_obj_new_list(0, NULL);
// if (service_uuids_whitelist == mp_const_none) {
// // List of service UUID's not given, so discover all available services.
// uint16_t next_service_start_handle = BLE_GATT_HANDLE_START;
// while (discover_next_services(self, next_service_start_handle, MP_OBJ_NULL)) {
// // discover_next_services() appends to remote_services_list.
// // Get the most recently discovered service, and then ask for services
// // whose handles start after the last attribute handle inside that service.
// // There must be at least one if discover_next_services() returned true.
// const bleio_service_obj_t *service =
// self->remote_service_list->items[self->remote_service_list->len - 1];
// next_service_start_handle = service->end_handle + 1;
// }
// } else {
// mp_obj_iter_buf_t iter_buf;
// mp_obj_t iterable = mp_getiter(service_uuids_whitelist, &iter_buf);
// mp_obj_t uuid_obj;
// while ((uuid_obj = mp_iternext(iterable)) != MP_OBJ_STOP_ITERATION) {
// if (!mp_obj_is_type(uuid_obj, &bleio_uuid_type)) {
// mp_raise_TypeError(translate("non-UUID found in service_uuids_whitelist"));
// }
// bleio_uuid_obj_t *uuid = MP_OBJ_TO_PTR(uuid_obj);
// ble_uuid_t nrf_uuid;
// bleio_uuid_convert_to_nrf_ble_uuid(uuid, &nrf_uuid);
// // Service might or might not be discovered; that's ok. Caller has to check
// // Central.remote_services to find out.
// // We only need to call this once for each service to discover.
// discover_next_services(self, BLE_GATT_HANDLE_START, &nrf_uuid);
// }
// }
// for (size_t i = 0; i < self->remote_service_list->len; i++) {
// bleio_service_obj_t *service = MP_OBJ_TO_PTR(self->remote_service_list->items[i]);
// // Skip the service if it had an unknown (unregistered) UUID.
// if (service->uuid == NULL) {
// continue;
// }
// uint16_t next_char_start_handle = service->start_handle;
// // Stop when we go past the end of the range of handles for this service or
// // discovery call returns nothing.
// // discover_next_characteristics() appends to the characteristic_list.
// while (next_char_start_handle <= service->end_handle &&
// discover_next_characteristics(self, service, next_char_start_handle)) {
// // Get the most recently discovered characteristic, and then ask for characteristics
// // whose handles start after the last attribute handle inside that characteristic.
// const bleio_characteristic_obj_t *characteristic =
// MP_OBJ_TO_PTR(service->characteristic_list->items[service->characteristic_list->len - 1]);
// next_char_start_handle = characteristic->handle + 1;
// }
// // Got characteristics for this service. Now discover descriptors for each characteristic.
// size_t char_list_len = service->characteristic_list->len;
// for (size_t char_idx = 0; char_idx < char_list_len; ++char_idx) {
// bleio_characteristic_obj_t *characteristic =
// MP_OBJ_TO_PTR(service->characteristic_list->items[char_idx]);
// const bool last_characteristic = char_idx == char_list_len - 1;
// bleio_characteristic_obj_t *next_characteristic = last_characteristic
// ? NULL
// : MP_OBJ_TO_PTR(service->characteristic_list->items[char_idx + 1]);
// // Skip the characteristic if it had an unknown (unregistered) UUID.
// if (characteristic->uuid == NULL) {
// continue;
// }
// uint16_t next_desc_start_handle = characteristic->handle + 1;
// // Don't run past the end of this service or the beginning of the next characteristic.
// uint16_t next_desc_end_handle = next_characteristic == NULL
// ? service->end_handle
// : next_characteristic->handle - 1;
// // Stop when we go past the end of the range of handles for this service or
// // discovery call returns nothing.
// // discover_next_descriptors() appends to the descriptor_linked_list.
// while (next_desc_start_handle <= service->end_handle &&
// next_desc_start_handle <= next_desc_end_handle &&
// discover_next_descriptors(self, characteristic,
// next_desc_start_handle, next_desc_end_handle)) {
// // Get the most recently discovered descriptor, and then ask for descriptors
// // whose handles start after that descriptor's handle.
// // There must be at least one if discover_next_descriptors() returned true.
// const bleio_descriptor_obj_t *descriptor =
// characteristic->descriptor_list->items[characteristic->descriptor_list->len - 1];
// next_desc_start_handle = descriptor->handle + 1;
// }
// }
// }
// // This event handler is no longer needed.
// ble_drv_remove_event_handler(discovery_on_ble_evt, self);
// }
mp_obj_tuple_t *common_hal_bleio_connection_discover_remote_services(bleio_connection_obj_t *self, mp_obj_t service_uuids_whitelist) {
// FIX discover_remote_services(self->connection, service_uuids_whitelist);
bleio_connection_ensure_connected(self);
// Convert to a tuple and then clear the list so the callee will take ownership.
mp_obj_tuple_t *services_tuple =
mp_obj_new_tuple(self->connection->remote_service_list->len,
self->connection->remote_service_list->items);
mp_obj_list_clear(MP_OBJ_FROM_PTR(self->connection->remote_service_list));
return services_tuple;
}
uint16_t bleio_connection_get_conn_handle(bleio_connection_obj_t *self) {
if (self == NULL || self->connection == NULL) {
return BLE_CONN_HANDLE_INVALID;
}
return self->connection->conn_handle;
}
mp_obj_t bleio_connection_new_from_internal(bleio_connection_internal_t *internal) {
if (internal->connection_obj != mp_const_none) {
return internal->connection_obj;
}
bleio_connection_obj_t *connection = m_new_obj(bleio_connection_obj_t);
connection->base.type = &bleio_connection_type;
connection->connection = internal;
internal->connection_obj = connection;
return MP_OBJ_FROM_PTR(connection);
}
// Find the connection that uses the given conn_handle. Return NULL if not found.
bleio_connection_internal_t *bleio_conn_handle_to_connection(uint16_t conn_handle) {
bleio_connection_internal_t *connection;
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
connection = &bleio_connections[i];
if (connection->conn_handle == conn_handle) {
return connection;
}
}
return NULL;
}

View file

@ -0,0 +1,89 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CONNECTION_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CONNECTION_H
#include <stdbool.h>
#include "py/obj.h"
#include "py/objlist.h"
#include "common-hal/_bleio/__init__.h"
#include "shared-module/_bleio/Address.h"
#include "common-hal/_bleio/Service.h"
typedef enum {
PAIR_NOT_PAIRED,
PAIR_WAITING,
PAIR_PAIRED,
} pair_status_t;
// We split the Connection object into two so that the internal mechanics can live outside of the
// VM. If it were one object, then we'd risk user code seeing a connection object of theirs be
// reused.
typedef struct {
uint16_t conn_handle;
bool is_central;
// Remote services discovered when this peripheral is acting as a client.
mp_obj_list_t *remote_service_list;
// The advertising data and scan response buffers are held by us, not by the SD, so we must
// maintain them and not change it. If we need to change the contents during advertising,
// there are tricks to get the SD to notice (see DevZone - TBS).
bonding_keys_t bonding_keys;
// EDIV: Encrypted Diversifier: Identifies LTK during legacy pairing.
uint16_t ediv;
volatile pair_status_t pair_status;
uint8_t sec_status; // Internal security status.
mp_obj_t connection_obj;
// REMOVE ble_gap_conn_params_t conn_params;
volatile bool conn_params_updating;
uint16_t mtu;
// Request that CCCD values for this connection be saved, using sys_attr values.
volatile bool do_bond_cccds;
// Request that security key info for this connection be saved.
volatile bool do_bond_keys;
// Time of setting do_bond_ccds: we delay a bit to consolidate multiple CCCD changes
// into one write. Time is currently in ticks_ms.
uint64_t do_bond_cccds_request_time;
// FIX from att.c
uint8_t role;
bt_addr_le_t addr;
} bleio_connection_internal_t;
typedef struct {
mp_obj_base_t base;
bleio_connection_internal_t *connection;
// The HCI disconnect reason.
uint8_t disconnect_reason;
} bleio_connection_obj_t;
uint16_t bleio_connection_get_conn_handle(bleio_connection_obj_t *self);
mp_obj_t bleio_connection_new_from_internal(bleio_connection_internal_t *connection);
bleio_connection_internal_t *bleio_conn_handle_to_connection(uint16_t conn_handle);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CONNECTION_H

View file

@ -0,0 +1,114 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
* Copyright (c) 2016 Glenn Ruben Bakke
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/runtime.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Descriptor.h"
#include "shared-bindings/_bleio/Service.h"
#include "shared-bindings/_bleio/UUID.h"
void common_hal_bleio_descriptor_construct(bleio_descriptor_obj_t *self, bleio_characteristic_obj_t *characteristic, bleio_uuid_obj_t *uuid, bleio_attribute_security_mode_t read_perm, bleio_attribute_security_mode_t write_perm, mp_int_t max_length, bool fixed_length, mp_buffer_info_t *initial_value_bufinfo) {
self->characteristic = characteristic;
self->uuid = uuid;
self->handle = BLE_GATT_HANDLE_INVALID;
self->read_perm = read_perm;
self->write_perm = write_perm;
self->value = mp_obj_new_bytes(initial_value_bufinfo->buf, initial_value_bufinfo->len);
const mp_int_t max_length_max = fixed_length ? BLE_GATTS_FIX_ATTR_LEN_MAX : BLE_GATTS_VAR_ATTR_LEN_MAX;
if (max_length < 0 || max_length > max_length_max) {
mp_raise_ValueError_varg(translate("max_length must be 0-%d when fixed_length is %s"),
max_length_max, fixed_length ? "True" : "False");
}
self->max_length = max_length;
self->fixed_length = fixed_length;
common_hal_bleio_descriptor_set_value(self, initial_value_bufinfo);
}
bleio_uuid_obj_t *common_hal_bleio_descriptor_get_uuid(bleio_descriptor_obj_t *self) {
return self->uuid;
}
bleio_characteristic_obj_t *common_hal_bleio_descriptor_get_characteristic(bleio_descriptor_obj_t *self) {
return self->characteristic;
}
size_t common_hal_bleio_descriptor_get_value(bleio_descriptor_obj_t *self, uint8_t *buf, size_t len) {
// Do GATT operations only if this descriptor has been registered
if (self->handle != BLE_GATT_HANDLE_INVALID) {
if (common_hal_bleio_service_get_is_remote(self->characteristic->service)) {
// uint16_t conn_handle = bleio_connection_get_conn_handle(self->characteristic->service->connection);
// FIX have att_read_req fill in a buffer
// uint8_t rsp[MAX(len, 512)];
// return att_read_req(conn_handle, self->handle, rsp, len);
return 0;
} else {
mp_buffer_info_t bufinfo;
if (!mp_get_buffer(self->value, &bufinfo, MP_BUFFER_READ)) {
return 0;
}
const size_t actual_length = MIN(len, bufinfo.len);
memcpy(buf, bufinfo.buf, actual_length);
return actual_length;
}
}
return 0;
}
void common_hal_bleio_descriptor_set_value(bleio_descriptor_obj_t *self, mp_buffer_info_t *bufinfo) {
if (self->fixed_length && bufinfo->len != self->max_length) {
mp_raise_ValueError(translate("Value length != required fixed length"));
}
if (bufinfo->len > self->max_length) {
mp_raise_ValueError(translate("Value length > max_length"));
}
self->value = mp_obj_new_bytes(bufinfo->buf, bufinfo->len);
// Do GATT operations only if this descriptor has been registered.
if (self->handle != BLE_GATT_HANDLE_INVALID) {
if (common_hal_bleio_service_get_is_remote(self->characteristic->service)) {
// FIX
// uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
// att_write_req(conn_handle, self->handle, bufinfo->buf, bufinfo->len, rsp);
} else {
// Always write the value locally even if no connections are active.
if (self->fixed_length && bufinfo->len != self->max_length) {
return;
}
if (bufinfo->len > self->max_length) {
return;
}
self->value = mp_obj_new_bytes(bufinfo->buf, bufinfo->len);
}
}
}

View file

@ -0,0 +1,53 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
* Copyright (c) 2016 Glenn Ruben Bakke
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_DESCRIPTOR_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_DESCRIPTOR_H
#include "py/obj.h"
#include "common-hal/_bleio/UUID.h"
// Forward declare characteristic because it includes a Descriptor.
struct _bleio_characteristic_obj;
typedef struct _bleio_descriptor_obj {
mp_obj_base_t base;
// Will be MP_OBJ_NULL before being assigned to a Characteristic.
struct _bleio_characteristic_obj *characteristic;
bleio_uuid_obj_t *uuid;
mp_obj_t value;
uint16_t max_length;
bool fixed_length;
uint16_t handle;
bleio_attribute_security_mode_t read_perm;
bleio_attribute_security_mode_t write_perm;
struct _bleio_descriptor_obj *next;
} bleio_descriptor_obj_t;
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_DESCRIPTOR_H

View file

@ -0,0 +1,267 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019-2020 Scott Shawcroft for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <string.h>
#include <stdio.h>
#include "lib/utils/interrupt_char.h"
#include "py/runtime.h"
#include "py/stream.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Connection.h"
#include "shared-bindings/_bleio/PacketBuffer.h"
#include "supervisor/shared/tick.h"
STATIC void write_to_ringbuf(bleio_packet_buffer_obj_t *self, uint8_t *data, uint16_t len) {
if (len + sizeof(uint16_t) > ringbuf_capacity(&self->ringbuf)) {
// This shouldn't happen.
return;
}
// Push all the data onto the ring buffer.
// Make room for the new value by dropping the oldest packets first.
while (ringbuf_capacity(&self->ringbuf) - ringbuf_num_filled(&self->ringbuf) < len + sizeof(uint16_t)) {
uint16_t packet_length;
ringbuf_get_n(&self->ringbuf, (uint8_t *)&packet_length, sizeof(uint16_t));
for (uint16_t i = 0; i < packet_length; i++) {
ringbuf_get(&self->ringbuf);
}
// set an overflow flag?
}
ringbuf_put_n(&self->ringbuf, (uint8_t *)&len, sizeof(uint16_t));
ringbuf_put_n(&self->ringbuf, data, len);
}
STATIC uint32_t queue_next_write(bleio_packet_buffer_obj_t *self) {
// Queue up the next outgoing buffer. We use two, one that has been passed to the SD for
// transmission (when packet_queued is true) and the other is `pending` and can still be
// modified. By primarily appending to the `pending` buffer we can reduce the protocol overhead
// of the lower level link and ATT layers.
self->packet_queued = false;
if (self->pending_size > 0) {
mp_buffer_info_t bufinfo = {
.buf = self->outgoing[self->pending_index],
.len = self->pending_size,
};
common_hal_bleio_characteristic_set_value(self->characteristic, &bufinfo);
self->pending_size = 0;
self->pending_index = (self->pending_index + 1) % 2;
self->packet_queued = true;
}
return 0;
}
void bleio_packet_buffer_update(bleio_packet_buffer_obj_t *self, mp_buffer_info_t *bufinfo) {
write_to_ringbuf(self, bufinfo->buf, bufinfo->len);
}
void common_hal_bleio_packet_buffer_construct(
bleio_packet_buffer_obj_t *self, bleio_characteristic_obj_t *characteristic,
size_t buffer_size, size_t max_packet_size) {
self->characteristic = characteristic;
self->client = self->characteristic->service->is_remote;
bleio_characteristic_properties_t incoming =
self->characteristic->props & (CHAR_PROP_WRITE_NO_RESPONSE | CHAR_PROP_WRITE);
bleio_characteristic_properties_t outgoing =
self->characteristic->props & (CHAR_PROP_NOTIFY | CHAR_PROP_INDICATE);
if (self->client) {
// Swap if we're the client.
bleio_characteristic_properties_t temp = incoming;
incoming = outgoing;
outgoing = temp;
self->conn_handle = bleio_connection_get_conn_handle(MP_OBJ_TO_PTR(self->characteristic->service->connection));
} else {
self->conn_handle = BLE_CONN_HANDLE_INVALID;
}
if (incoming) {
if (!ringbuf_alloc(&self->ringbuf, buffer_size * (sizeof(uint16_t) + max_packet_size), false)) {
mp_raise_ValueError(translate("Buffer too large and unable to allocate"));
}
}
if (outgoing) {
self->packet_queued = false;
self->pending_index = 0;
self->pending_size = 0;
self->outgoing[0] = m_malloc(max_packet_size, false);
self->outgoing[1] = m_malloc(max_packet_size, false);
} else {
self->outgoing[0] = NULL;
self->outgoing[1] = NULL;
}
self->max_packet_size = max_packet_size;
bleio_characteristic_set_observer(self->characteristic, self);
}
mp_int_t common_hal_bleio_packet_buffer_readinto(bleio_packet_buffer_obj_t *self, uint8_t *data, size_t len) {
if (ringbuf_num_filled(&self->ringbuf) < 2) {
return 0;
}
// Copy received data.
// Get packet length, which is in first two bytes of packet.
uint16_t packet_length;
ringbuf_get_n(&self->ringbuf, (uint8_t *)&packet_length, sizeof(uint16_t));
mp_int_t ret;
if (packet_length > len) {
// Packet is longer than requested. Return negative of overrun value.
ret = len - packet_length;
// Discard the packet if it's too large. Don't fill data.
while (packet_length--) {
(void)ringbuf_get(&self->ringbuf);
}
} else {
// Read as much as possible, but might be shorter than len.
ringbuf_get_n(&self->ringbuf, data, packet_length);
ret = packet_length;
}
return ret;
}
mp_int_t common_hal_bleio_packet_buffer_write(bleio_packet_buffer_obj_t *self, uint8_t *data, size_t len, uint8_t *header, size_t header_len) {
if (self->outgoing[0] == NULL) {
mp_raise_bleio_BluetoothError(translate("Writes not supported on Characteristic"));
}
if (self->conn_handle == BLE_CONN_HANDLE_INVALID) {
return -1;
}
uint16_t outgoing_packet_length = common_hal_bleio_packet_buffer_get_outgoing_packet_length(self);
if (len + header_len > outgoing_packet_length) {
// Supplied data will not fit in a single BLE packet.
mp_raise_ValueError(translate("Total data to write is larger than outgoing_packet_length"));
}
if (len + self->pending_size > outgoing_packet_length) {
// No room to append len bytes to packet. Wait until we get a free buffer,
// and keep checking that we haven't been disconnected.
while (self->pending_size != 0 && self->conn_handle != BLE_CONN_HANDLE_INVALID) {
RUN_BACKGROUND_TASKS;
}
}
if (self->conn_handle == BLE_CONN_HANDLE_INVALID) {
return -1;
}
size_t num_bytes_written = 0;
uint8_t *pending = self->outgoing[self->pending_index];
if (self->pending_size == 0) {
memcpy(pending, header, header_len);
self->pending_size += header_len;
num_bytes_written += header_len;
}
memcpy(pending + self->pending_size, data, len);
self->pending_size += len;
num_bytes_written += len;
// If no writes are queued then sneak in this data.
if (!self->packet_queued) {
queue_next_write(self);
}
return num_bytes_written;
}
mp_int_t common_hal_bleio_packet_buffer_get_incoming_packet_length(bleio_packet_buffer_obj_t *self) {
// If this PacketBuffer is coming from a remote service via NOTIFY or INDICATE
// the maximum size is what can be sent in one
// BLE packet. But we must be connected to know that value.
//
// Otherwise it can be as long as the characteristic
// will permit, whether or not we're connected.
if (self->characteristic == NULL) {
return -1;
}
if (self->characteristic->service != NULL &&
self->characteristic->service->is_remote &&
(common_hal_bleio_characteristic_get_properties(self->characteristic) &
(CHAR_PROP_INDICATE | CHAR_PROP_NOTIFY))) {
// We are talking to a remote service, and data is arriving via NOTIFY or INDICATE.
if (self->conn_handle != BLE_CONN_HANDLE_INVALID) {
bleio_connection_internal_t *connection = bleio_conn_handle_to_connection(self->conn_handle);
if (connection) {
return MIN(common_hal_bleio_connection_get_max_packet_length(connection),
self->characteristic->max_length);
}
}
// There's no current connection, so we don't know the MTU, and
// we can't tell what the largest incoming packet length would be.
return -1;
}
return self->characteristic->max_length;
}
mp_int_t common_hal_bleio_packet_buffer_get_outgoing_packet_length(bleio_packet_buffer_obj_t *self) {
// If we are sending data via NOTIFY or INDICATE, the maximum size
// is what can be sent in one BLE packet. But we must be connected
// to know that value.
//
// Otherwise it can be as long as the characteristic
// will permit, whether or not we're connected.
if (self->characteristic == NULL) {
return -1;
}
if (self->characteristic->service != NULL &&
!self->characteristic->service->is_remote &&
(common_hal_bleio_characteristic_get_properties(self->characteristic) &
(CHAR_PROP_INDICATE | CHAR_PROP_NOTIFY))) {
// We are sending to a client, via NOTIFY or INDICATE.
if (self->conn_handle != BLE_CONN_HANDLE_INVALID) {
bleio_connection_internal_t *connection = bleio_conn_handle_to_connection(self->conn_handle);
if (connection) {
return MIN(MIN(common_hal_bleio_connection_get_max_packet_length(connection),
self->max_packet_size),
self->characteristic->max_length);
}
}
// There's no current connection, so we don't know the MTU, and
// we can't tell what the largest outgoing packet length would be.
return -1;
}
return MIN(self->characteristic->max_length, self->max_packet_size);
}
bool common_hal_bleio_packet_buffer_deinited(bleio_packet_buffer_obj_t *self) {
return self->characteristic == NULL;
}
void common_hal_bleio_packet_buffer_deinit(bleio_packet_buffer_obj_t *self) {
if (!common_hal_bleio_packet_buffer_deinited(self)) {
bleio_characteristic_clear_observer(self->characteristic);
}
}

View file

@ -0,0 +1,54 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019-2020 Scott Shawcroft for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_PACKETBUFFER_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_PACKETBUFFER_H
#include "py/ringbuf.h"
#include "shared-bindings/_bleio/Characteristic.h"
typedef struct {
mp_obj_base_t base;
bleio_characteristic_obj_t *characteristic;
// Ring buffer storing consecutive incoming values.
ringbuf_t ringbuf;
// Two outgoing buffers to alternate between. One will be queued for transmission by the SD and
// the other is waiting to be queued and can be extended.
uint8_t *outgoing[2];
volatile uint16_t pending_size;
// We remember the conn_handle so we can do a NOTIFY/INDICATE to a client.
// We can find out the conn_handle on a Characteristic write or a CCCD write (but not a read).
volatile uint16_t conn_handle;
uint16_t max_packet_size;
uint8_t pending_index;
uint8_t write_type;
bool client;
bool packet_queued;
} bleio_packet_buffer_obj_t;
void bleio_packet_buffer_update(bleio_packet_buffer_obj_t *self, mp_buffer_info_t *bufinfo);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_PACKETBUFFER_H

View file

@ -0,0 +1,129 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/runtime.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Descriptor.h"
#include "shared-bindings/_bleio/Service.h"
#include "shared-bindings/_bleio/Adapter.h"
uint32_t _common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uuid_obj_t *uuid, bool is_secondary, mp_obj_list_t *characteristic_list) {
self->uuid = uuid;
self->characteristic_list = characteristic_list;
self->is_remote = false;
self->connection = NULL;
self->is_secondary = is_secondary;
vm_used_ble = true;
self->handle = bleio_adapter_add_attribute(&common_hal_bleio_adapter_obj, MP_OBJ_TO_PTR(self));
self->start_handle = self->handle;
self->end_handle = self->handle;
if (self->handle == BLE_GATT_HANDLE_INVALID) {
return 1;
}
return 0;
}
void common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uuid_obj_t *uuid, bool is_secondary) {
if (_common_hal_bleio_service_construct(self, uuid, is_secondary,
mp_obj_new_list(0, NULL)) != 0) {
mp_raise_RuntimeError(translate("Failed to add service"));
}
}
void bleio_service_from_connection(bleio_service_obj_t *self, mp_obj_t connection) {
self->handle = 0xFFFF;
self->uuid = NULL;
self->characteristic_list = mp_obj_new_list(0, NULL);
self->is_remote = true;
self->is_secondary = false;
self->connection = connection;
}
bleio_uuid_obj_t *common_hal_bleio_service_get_uuid(bleio_service_obj_t *self) {
return self->uuid;
}
mp_obj_tuple_t *common_hal_bleio_service_get_characteristics(bleio_service_obj_t *self) {
return mp_obj_new_tuple(self->characteristic_list->len, self->characteristic_list->items);
}
bool common_hal_bleio_service_get_is_remote(bleio_service_obj_t *self) {
return self->is_remote;
}
bool common_hal_bleio_service_get_is_secondary(bleio_service_obj_t *self) {
return self->is_secondary;
}
void common_hal_bleio_service_add_characteristic(bleio_service_obj_t *self,
bleio_characteristic_obj_t *characteristic,
mp_buffer_info_t *initial_value_bufinfo) {
if (self->handle != common_hal_bleio_adapter_obj.last_added_service_handle) {
mp_raise_bleio_BluetoothError(
translate("Characteristic can only be added to most recently added service"));
}
characteristic->decl_handle = bleio_adapter_add_attribute(
&common_hal_bleio_adapter_obj, MP_OBJ_TO_PTR(characteristic));
// This is the value handle.
characteristic->handle = bleio_adapter_add_attribute(
&common_hal_bleio_adapter_obj, MP_OBJ_TO_PTR(characteristic));
self->end_handle = characteristic->handle;
if (characteristic->props & (CHAR_PROP_NOTIFY | CHAR_PROP_INDICATE)) {
// We need a CCCD if this characteristic is doing notify or indicate.
bleio_descriptor_obj_t *cccd = m_new_obj(bleio_descriptor_obj_t);
cccd->base.type = &bleio_descriptor_type;
uint16_t zero = 0;
mp_buffer_info_t zero_cccd_value = {
.buf = &zero,
.len = sizeof(zero),
};
common_hal_bleio_descriptor_construct(
cccd,
characteristic,
&cccd_uuid, // 0x2902
SECURITY_MODE_OPEN, // CCCD read perm
characteristic->read_perm, // Make CCCD write perm match characteristic read perm.
2, // 2 bytes
true, // fixed length
&zero_cccd_value // Initial value is 0.
);
// Adds CCCD to attribute table, and also extends self->end_handle to include the CCCD.
common_hal_bleio_characteristic_add_descriptor(characteristic, cccd);
characteristic->cccd = cccd;
}
mp_obj_list_append(self->characteristic_list, MP_OBJ_FROM_PTR(characteristic));
}

View file

@ -0,0 +1,54 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_SERVICE_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_SERVICE_H
#include "py/objlist.h"
#include "common-hal/_bleio/UUID.h"
typedef struct bleio_service_obj {
mp_obj_base_t base;
// Handle for the local service.
uint16_t handle;
// True if created during discovery.
bool is_remote;
bool is_secondary;
bleio_uuid_obj_t *uuid;
// The connection object is set only when this is a remote service.
// A local service doesn't know the connection.
mp_obj_t connection;
mp_obj_list_t *characteristic_list;
// Range of attribute handles of this service.
uint16_t start_handle;
uint16_t end_handle;
struct bleio_service_obj *next;
} bleio_service_obj_t;
void bleio_service_from_connection(bleio_service_obj_t *self, mp_obj_t connection);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_SERVICE_H

View file

@ -0,0 +1,75 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
* Copyright (c) 2016 Glenn Ruben Bakke
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <string.h>
#include "py/runtime.h"
#include "common-hal/_bleio/UUID.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Adapter.h"
// If uuid128 is NULL, this is a Bluetooth SIG 16-bit UUID.
// If uuid128 is not NULL, it's a 128-bit (16-byte) UUID, with bytes 12 and 13 zero'd out, where
// the 16-bit part goes. Those 16 bits are passed in uuid16.
void common_hal_bleio_uuid_construct(bleio_uuid_obj_t *self, mp_int_t uuid16, const uint8_t uuid128[16]) {
self->size = uuid128 == NULL ? 16 : 128;
self->uuid16 = uuid16;
if (uuid128) {
memcpy(self->uuid128, uuid128, 16);
self->uuid128[12] = uuid16 & 0xff;
self->uuid128[13] = uuid16 >> 8;
} else {
memset(self->uuid128, 0, 16);
}
}
uint32_t common_hal_bleio_uuid_get_size(bleio_uuid_obj_t *self) {
return self->size;
}
uint32_t common_hal_bleio_uuid_get_uuid16(bleio_uuid_obj_t *self) {
return self->uuid16;
}
void common_hal_bleio_uuid_get_uuid128(bleio_uuid_obj_t *self, uint8_t uuid128[16]) {
memcpy(uuid128, self->uuid128, 16);
}
void common_hal_bleio_uuid_pack_into(bleio_uuid_obj_t *self, uint8_t *buf) {
if (self->size == 16) {
buf[0] = self->uuid16 & 0xff;
buf[1] = self->uuid16 >> 8;
} else {
common_hal_bleio_uuid_get_uuid128(self, buf);
}
}
// Return a uui16 only if this is a standard uuid. Otherwise return BLE_UUID_UNKNOWN.
uint16_t bleio_uuid_get_uuid16_or_unknown(bleio_uuid_obj_t *uuid) {
return uuid->size == 16 ? uuid->uuid16 : BLE_UUID_UNKNOWN;
}

View file

@ -0,0 +1,58 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
* Copyright (c) 2016 Glenn Ruben Bakke
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_UUID_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_UUID_H
#include "py/obj.h"
// Types returned by attribute table lookups. These are UUIDs.
typedef enum {
BLE_UUID_UNKNOWN = 0x0000,
BLE_UUID_SERVICE_PRIMARY = 0x2800,
BLE_UUID_SERVICE_SECONDARY = 0x2801,
BLE_UUID_SERVICE_INCLUDE = 0x2802,// not yet implemented by us
BLE_UUID_CHARACTERISTIC = 0x2803,
BLE_UUID_CHAR_EXTENDED_PROPS = 0x2900,// not yet implemented by us
BLE_UUID_CHAR_USER_DESC = 0x2901,// not yet implemented by us
BLE_UUID_CCCD = 0x2902,
BLE_UUID_SCCD = 0x2903,// not yet implemented by us
BLE_UUID_CHAR_PRESENTATION_FMT = 0x2904, // not yet implemented by us
BLE_UUID_CHAR_AGGREGATE_FMT = 0x2905,// not yet implemented by us
} ble_standard_uuid;
typedef struct {
mp_obj_base_t base;
uint8_t size;
uint16_t uuid16;
uint8_t uuid128[16];
} bleio_uuid_obj_t;
uint16_t bleio_uuid_get_uuid16_or_unknown(bleio_uuid_obj_t *uuid);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_UUID_H

View file

@ -0,0 +1,112 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Dan Halbert for Adafruit Industries
* Copyright (c) 2018 Artur Pacholec
* Copyright (c) 2016 Glenn Ruben Bakke
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <string.h>
#include "py/runtime.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Adapter.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Connection.h"
#include "shared-bindings/_bleio/Descriptor.h"
#include "shared-bindings/_bleio/Service.h"
#include "shared-bindings/_bleio/UUID.h"
#include "supervisor/shared/bluetooth.h"
// UUID shared by all cccd's.
bleio_uuid_obj_t cccd_uuid;
bool vm_used_ble;
// void check_sec_status(uint8_t sec_status) {
// if (sec_status == BLE_GAP_SEC_STATUS_SUCCESS) {
// return;
// }
// switch (sec_status) {
// case BLE_GAP_SEC_STATUS_UNSPECIFIED:
// mp_raise_bleio_SecurityError(translate("Unspecified issue. Can be that the pairing prompt on the other device was declined or ignored."));
// return;
// default:
// mp_raise_bleio_SecurityError(translate("Unknown security error: 0x%04x"), sec_status);
// }
// }
// Turn off BLE on a reset or reload.
void bleio_reset() {
// Create a UUID object for all CCCD's.
cccd_uuid.base.type = &bleio_uuid_type;
common_hal_bleio_uuid_construct(&cccd_uuid, BLE_UUID_CCCD, NULL);
bleio_hci_reset();
if (!common_hal_bleio_adapter_get_enabled(&common_hal_bleio_adapter_obj)) {
return;
}
bleio_adapter_reset(&common_hal_bleio_adapter_obj);
if (!vm_used_ble) {
// No user-code BLE operations were done, so we can maintain the supervisor state.
return;
}
common_hal_bleio_adapter_set_enabled(&common_hal_bleio_adapter_obj, false);
common_hal_bleio_adapter_obj.allocated = false;
bleio_set_adapter(mp_const_none);
// FIX bonding_reset();
supervisor_start_bluetooth();
}
// The singleton _bleio.Adapter object, bound to _bleio.adapter
bleio_adapter_obj_t common_hal_bleio_adapter_obj = {
.base = {
.type = &bleio_adapter_type,
},
};
bleio_adapter_obj_t *common_hal_bleio_allocate_adapter_or_raise(void) {
if (common_hal_bleio_adapter_obj.allocated) {
mp_raise_RuntimeError(translate("Too many Adapters"));
}
return &common_hal_bleio_adapter_obj;
}
void common_hal_bleio_check_connected(uint16_t conn_handle) {
if (conn_handle == BLE_CONN_HANDLE_INVALID) {
mp_raise_ConnectionError(translate("Not connected"));
}
}
void common_hal_bleio_gc_collect(void) {
bleio_adapter_gc_collect(&common_hal_bleio_adapter_obj);
}
void bleio_background(void) {
bleio_adapter_background(&common_hal_bleio_adapter_obj);
}

View file

@ -0,0 +1,62 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Dan Halbert for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_INIT_H
#define MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_INIT_H
#include <stdbool.h>
#include "shared-bindings/_bleio/UUID.h"
#include "att.h"
#include "hci.h"
void bleio_background(void);
void bleio_reset(void);
typedef struct {
// ble_gap_enc_key_t own_enc;
// ble_gap_enc_key_t peer_enc;
// ble_gap_id_key_t peer_id;
} bonding_keys_t;
// We assume variable length data.
// 20 bytes max (23 - 3).
#define GATT_MAX_DATA_LENGTH (BT_ATT_DEFAULT_LE_MTU - 3)
// FIX
#define BLE_GATT_HANDLE_INVALID 0x0000
#define BLE_CONN_HANDLE_INVALID 0xFFFF
#define BLE_GATTS_FIX_ATTR_LEN_MAX (510) /**< Maximum length for fixed length Attribute Values. */
#define BLE_GATTS_VAR_ATTR_LEN_MAX (512) /**< Maximum length for variable length Attribute Values. */
// Track if the user code modified the BLE state to know if we need to undo it on reload.
extern bool vm_used_ble;
// UUID shared by all CCCD's.
extern bleio_uuid_obj_t cccd_uuid;
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_INIT_H

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,57 @@
// Derived from ArduinoBLE.
// Copyright 2020 Dan Halbert for Adafruit Industries
/*
This file is part of the ArduinoBLE library.
Copyright (c) 2018 Arduino SA. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_ATT_H
#define MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_ATT_H
#include <stdbool.h>
#include <stdint.h>
#include "hci_include/addr.h"
#include "hci_include/att.h"
#include "hci_include/att_internal.h"
void bleio_att_reset(void);
// FIX void att_set_event_handler(BLEDeviceEvent event, BLEDeviceEventHandler eventHandler);
bool att_address_is_connected(bt_addr_le_t *addr);
bool att_connect_to_address(bt_addr_le_t *addr);
bool att_disconnect(uint16_t conn_handle);
bool att_disconnect_all(void);
bool att_discover_attributes(bt_addr_le_t *addr, const char *service_uuid_filter);
bool att_exchange_mtu(uint16_t conn_handle);
bool att_handle_is_connected(uint16_t handle);
bool att_indicate(uint16_t handle, const uint8_t *value, int length);
bool att_is_connected(void);
bool att_notify(uint16_t handle, const uint8_t *value, int length);
int att_read_req(uint16_t conn_handle, uint16_t handle, uint8_t response_buffer[]);
int att_write_req(uint16_t conn_handle, uint16_t handle, const uint8_t *data, uint8_t data_len, uint8_t response_buffer[]);
uint16_t att_conn_handle(bt_addr_le_t *addr);
uint16_t att_mtu(uint16_t handle);
void att_add_connection(uint16_t handle, uint8_t role, bt_addr_le_t *peer_addr, uint16_t interval, uint16_t latency, uint16_t supervision_timeout, uint8_t master_clock_accuracy);
void att_process_data(uint16_t conn_handle, uint8_t dlen, uint8_t data[]);
void att_remove_connection(uint16_t conn_handle, uint8_t reason);
void att_set_max_mtu(uint16_t max_mtu);
void att_set_timeout(unsigned long timeout);
void att_write_cmd(uint16_t conn_handle, uint16_t handle, const uint8_t *data, uint8_t data_len);
#endif // MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_ATT_H

View file

@ -0,0 +1,805 @@
// This file is derived from the ArduinoBLE library. Its header is below.
/*
This file is part of the ArduinoBLE library.
Copyright (c) 2018 Arduino SA. All rights reserved.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "att.h"
#include "hci.h"
#include "py/obj.h"
#include "py/mperrno.h"
#include "py/runtime.h"
// Zephyr include files to define HCI communication values and structs.
#include "hci_include/hci.h"
#include "hci_include/hci_err.h"
#include "hci_include/l2cap_internal.h"
#include <string.h>
#include "py/mphal.h" // *****************************
#include "supervisor/shared/tick.h"
#include "shared-bindings/_bleio/__init__.h"
#include "common-hal/_bleio/Adapter.h"
#include "shared-bindings/microcontroller/__init__.h"
// Set to 1 for extensive HCI packet logging.
#define HCI_DEBUG 0
// HCI H4 protocol packet types: first byte in the packet.
#define H4_CMD 0x01
#define H4_ACL 0x02
#define H4_SCO 0x03
#define H4_EVT 0x04
#define CTS_TIMEOUT_MSECS (1000)
#define RESPONSE_TIMEOUT_MSECS (1000)
// These are the headers of the full packets that are sent over the serial interface.
// They all have a one-byte type-field at the front, one of the H4_xxx packet types.
typedef struct __attribute__ ((packed)) {
uint8_t pkt_type;
uint16_t opcode;
uint8_t param_len;
uint8_t params[];
} h4_hci_cmd_pkt_t;
#define ACL_DATA_PB_FIRST_NON_FLUSH 0
#define ACL_DATA_PB_MIDDLE 1
#define ACL_DATA_PB_FIRST_FLUSH 2
#define ACL_DATA_PB_FULL 3
typedef struct __attribute__ ((packed)) {
uint8_t pkt_type;
uint16_t handle : 12;
uint8_t pb : 2; // Packet boundary flag: ACL_DATA_PB values.
uint8_t bc : 2; // Broadcast flag: always 0b00 for BLE.
uint16_t data_len; // length of data[] in this packet.
uint8_t data[];
} h4_hci_acl_pkt_t;
// The ACL data in an h4_hci_acl_pkt_t may be fragmented across
// multiple ACL_DATA packets, and need to be recombined. This is the
// structure of the combined packet or the first fragment.
typedef struct __attribute__ ((packed)) {
uint16_t acl_data_len; // Length of acl_data. Does not include this header.
uint16_t cid; // Channel ID.
uint8_t acl_data[]; // Length is acl_data_len of full packet.
} acl_data_t;
typedef struct __attribute__ ((packed)) {
uint8_t pkt_type;
uint8_t evt;
uint8_t param_len;
uint8_t params[];
} h4_hci_evt_pkt_t;
//////////////////////////////////////////////////////////////////////
// Static storage:
// FIX size
#define RX_BUFFER_SIZE (3 + 255)
#define ACL_DATA_BUFFER_SIZE (255)
STATIC uint8_t rx_buffer[RX_BUFFER_SIZE];
STATIC size_t rx_idx;
STATIC uint8_t acl_data_buffer[ACL_DATA_BUFFER_SIZE];
STATIC size_t acl_data_len;
STATIC size_t num_command_packets_allowed;
STATIC volatile size_t pending_pkt;
// Results from parsing a command response packet.
STATIC bool cmd_response_received;
STATIC uint16_t cmd_response_opcode;
STATIC uint8_t cmd_response_status;
STATIC size_t cmd_response_len;
STATIC uint8_t *cmd_response_data;
STATIC volatile bool hci_poll_in_progress = false;
//////////////////////////////////////////////////////////////////////
#if HCI_DEBUG
#include "hci_debug.c"
#endif // HCI_DEBUG
STATIC void process_acl_data_pkt(uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_acl_pkt_t *pkt = (h4_hci_acl_pkt_t *)pkt_data;
if (pkt->pb != ACL_DATA_PB_MIDDLE) {
// This is the start of a fragmented acl_data packet or is a full packet.
memcpy(acl_data_buffer, pkt->data, pkt->data_len);
acl_data_len = pkt->data_len;
} else {
// This is a middle or end fragment of acl data.
// Append to the accumulated data so far.
memcpy(&acl_data_buffer[acl_data_len], pkt->data, pkt->data_len);
acl_data_len += pkt->data_len;
}
acl_data_t *acl = (acl_data_t *)&acl_data_buffer;
if (acl_data_len != sizeof(acl) + acl->acl_data_len) {
// We don't have the full packet yet.
return;
}
if (acl->cid == BT_L2CAP_CID_ATT) {
att_process_data(pkt->handle, acl->acl_data_len, acl->acl_data);
}
// } else if (aclHdr->cid == BT_L2CAP_CID_LE_SIG) {
// L2CAPSignaling.handleData(aclHdr->handle & 0x0fff, aclHdr->len, &rx_buffer[1 + sizeof(HCIACLHdr)]);
// } else {
// struct __attribute__ ((packed)) {
// uint8_t op;
// uint8_t id;
// uint16_t length;
// uint16_t reason;
// uint16_t localCid;
// uint16_t remoteCid;
// } l2capRejectCid= { 0x01, 0x00, 0x006, 0x0002, aclHdr->cid, 0x0000 };
// sendAclPkt(aclHdr->handle & 0x0fff, 0x0005, sizeof(l2capRejectCid), &l2capRejectCid);
// }
}
// Process number of completed packets. Reduce number of pending packets by reported
// number of completed.
STATIC void process_num_comp_pkts(uint16_t handle, uint16_t num_pkts) {
if (num_pkts && pending_pkt > num_pkts) {
pending_pkt -= num_pkts;
} else {
pending_pkt = 0;
}
}
STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[]) {
h4_hci_evt_pkt_t *pkt = (h4_hci_evt_pkt_t *)pkt_data;
switch (pkt->evt) {
case BT_HCI_EVT_DISCONN_COMPLETE: {
struct bt_hci_evt_disconn_complete *disconn_complete =
(struct bt_hci_evt_disconn_complete *)pkt->params;
(void)disconn_complete;
att_remove_connection(disconn_complete->handle, disconn_complete->reason);
// FIX L2CAPSignaling.removeConnection(disconn_complete->handle, disconn_complete->reason);
break;
}
case BT_HCI_EVT_CMD_COMPLETE: {
struct cmd_complete_with_status {
struct bt_hci_evt_cmd_complete cmd_complete;
struct bt_hci_evt_cc_status cc_status;
} __packed;
struct cmd_complete_with_status *evt = (struct cmd_complete_with_status *)pkt->params;
num_command_packets_allowed = evt->cmd_complete.ncmd;
cmd_response_received = true;
cmd_response_opcode = evt->cmd_complete.opcode;
cmd_response_status = evt->cc_status.status;
// All the bytes following cmd_complete, -including- the status byte, which is
// included in all the _bt_hci_rp_* structs.
cmd_response_data = (uint8_t *)&evt->cc_status;
// Includes status byte.
cmd_response_len = pkt->param_len - sizeof_field(struct cmd_complete_with_status, cmd_complete);
break;
}
case BT_HCI_EVT_CMD_STATUS: {
struct bt_hci_evt_cmd_status *evt = (struct bt_hci_evt_cmd_status *)pkt->params;
num_command_packets_allowed = evt->ncmd;
cmd_response_received = true;
cmd_response_opcode = evt->opcode;
cmd_response_status = evt->status;
cmd_response_data = NULL;
cmd_response_len = 0;
break;
}
case BT_HCI_EVT_NUM_COMPLETED_PACKETS: {
struct bt_hci_evt_num_completed_packets *evt =
(struct bt_hci_evt_num_completed_packets *)pkt->params;
// Start at zero-th pair: (conn handle, num completed packets).
struct bt_hci_handle_count *handle_and_count = &(evt->h[0]);
for (uint8_t i = 0; i < evt->num_handles; i++) {
process_num_comp_pkts(handle_and_count->handle, handle_and_count->count);
handle_and_count++;
}
break;
}
case BT_HCI_EVT_LE_META_EVENT: {
struct bt_hci_evt_le_meta_event *meta_evt = (struct bt_hci_evt_le_meta_event *)pkt->params;
uint8_t *le_evt = pkt->params + sizeof (struct bt_hci_evt_le_meta_event);
if (meta_evt->subevent == BT_HCI_EVT_LE_CONN_COMPLETE) {
// Advertising stops when connection occurs.
// We don't tell the adapter to stop, because stopping advertising
// when it's already stopped seems to exercise a bug in the ESP32 HCI code:
// It doesn't return a response.
bleio_adapter_advertising_was_stopped(&common_hal_bleio_adapter_obj);
struct bt_hci_evt_le_conn_complete *le_conn_complete =
(struct bt_hci_evt_le_conn_complete *)le_evt;
if (le_conn_complete->status == BT_HCI_ERR_SUCCESS) {
att_add_connection(
le_conn_complete->handle,
le_conn_complete->role,
&le_conn_complete->peer_addr,
le_conn_complete->interval,
le_conn_complete->latency,
le_conn_complete->supv_timeout,
le_conn_complete->clock_accuracy);
}
} else if (meta_evt->subevent == BT_HCI_EVT_LE_ADVERTISING_REPORT) {
struct bt_hci_evt_le_advertising_info *le_advertising_info =
(struct bt_hci_evt_le_advertising_info *)le_evt;
if (le_advertising_info->evt_type == BT_HCI_ADV_DIRECT_IND) {
// FIX
// last byte is RSSI
// GAP.handleLeAdvertisingReport(leAdvertisingReport->type,
// leAdvertisingReport->peerBdaddrType,
// leAdvertisingReport->peerBdaddr,
// leAdvertisingReport->eirLength,
// leAdvertisingReport->eirData,
// rssi); //FIX, don't separate
}
}
break;
}
default:
#if HCI_DEBUG
mp_printf(&mp_plat_print, "process_evt_pkt: Unknown event: %02x\n");
#endif
break;
}
}
void bleio_hci_reset(void) {
rx_idx = 0;
pending_pkt = 0;
hci_poll_in_progress = false;
bleio_att_reset();
}
hci_result_t hci_poll_for_incoming_pkt(void) {
common_hal_mcu_disable_interrupts();
if (hci_poll_in_progress) {
common_hal_mcu_enable_interrupts();
return HCI_OK;
}
hci_poll_in_progress = true;
common_hal_mcu_enable_interrupts();
// Assert RTS low to say we're ready to read data.
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, false);
int errcode = 0;
bool packet_is_complete = false;
// Read bytes until we run out. There may be more than one packet in the input buffer.
while (!packet_is_complete &&
common_hal_busio_uart_rx_characters_available(common_hal_bleio_adapter_obj.hci_uart) > 0) {
// Read just one character a a time, so we don't accidentally get part of a second
// packet.
size_t num_read =
common_hal_busio_uart_read(common_hal_bleio_adapter_obj.hci_uart, rx_buffer + rx_idx, 1, &errcode);
if (num_read == 0) {
return HCI_OK;
}
if (errcode) {
if (errcode == EAGAIN) {
continue;
}
hci_poll_in_progress = false;
mp_printf(&mp_plat_print, "HCI_READ_ERROR, errcode: %x\n", errcode);
return HCI_READ_ERROR;
}
rx_idx++;
if (rx_idx >= sizeof(rx_buffer)) {
// Incoming packet is too large. Should not happen.
return HCI_READ_ERROR;
}
switch (rx_buffer[0]) {
case H4_ACL:
if (rx_idx >= sizeof(h4_hci_acl_pkt_t)) {
const size_t total_len =
sizeof(h4_hci_acl_pkt_t) + ((h4_hci_acl_pkt_t *)rx_buffer)->data_len;
if (rx_idx == total_len) {
packet_is_complete = true;
}
if (rx_idx > total_len) {
return HCI_PACKET_SIZE_ERROR;
}
}
break;
case H4_EVT:
if (rx_idx >= sizeof(h4_hci_evt_pkt_t)) {
const size_t total_len =
sizeof(h4_hci_evt_pkt_t) + ((h4_hci_evt_pkt_t *)rx_buffer)->param_len;
if (rx_idx == total_len) {
packet_is_complete = true;
}
if (rx_idx > total_len) {
return HCI_PACKET_SIZE_ERROR;
}
}
break;
default:
// Unknown or bad packet type. Start over.
rx_idx = 0;
break;
}
} // end while
if (packet_is_complete) {
// Stop incoming data while processing packet.
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, true);
size_t pkt_len = rx_idx;
// Reset for next packet.
rx_idx = 0;
packet_is_complete = false;
switch (rx_buffer[0]) {
case H4_ACL:
#if HCI_DEBUG
dump_acl_pkt(false, pkt_len, rx_buffer);
#endif
process_acl_data_pkt(pkt_len, rx_buffer);
break;
case H4_EVT:
#if HCI_DEBUG
dump_evt_pkt(false, pkt_len, rx_buffer);
#endif
process_evt_pkt(pkt_len, rx_buffer);
break;
default:
#if HCI_DEBUG
mp_printf(&mp_plat_print, "Unknown HCI packet type: %d\n", rx_buffer[0]);
#endif
break;
}
// Let incoming bytes flow again.
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, false);
}
// All done with this batch. Hold off receiving bytes until we're ready again.
///common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, true);
hci_poll_in_progress = false;
return HCI_OK;
}
STATIC hci_result_t write_pkt(uint8_t *buffer, size_t len) {
// Wait for CTS to go low before writing to HCI adapter.
uint64_t start = supervisor_ticks_ms64();
while (common_hal_digitalio_digitalinout_get_value(common_hal_bleio_adapter_obj.cts_digitalinout)) {
RUN_BACKGROUND_TASKS;
if (supervisor_ticks_ms64() - start > CTS_TIMEOUT_MSECS) {
return HCI_WRITE_TIMEOUT;
}
}
int errcode = 0;
common_hal_busio_uart_write(common_hal_bleio_adapter_obj.hci_uart, buffer, len, &errcode);
if (errcode) {
return HCI_WRITE_ERROR;
}
return HCI_OK;
}
STATIC hci_result_t send_command(uint16_t opcode, uint8_t params_len, void *params) {
uint8_t cmd_pkt_len = sizeof(h4_hci_cmd_pkt_t) + params_len;
uint8_t tx_buffer[cmd_pkt_len];
// cmd header is at the beginning of tx_buffer
h4_hci_cmd_pkt_t *cmd_pkt = (h4_hci_cmd_pkt_t *)tx_buffer;
cmd_pkt->pkt_type = H4_CMD;
cmd_pkt->opcode = opcode;
cmd_pkt->param_len = params_len;
memcpy(cmd_pkt->params, params, params_len);
#if HCI_DEBUG
dump_cmd_pkt(true, sizeof(tx_buffer), tx_buffer);
#endif
int result = write_pkt(tx_buffer, cmd_pkt_len);
if (result != HCI_OK) {
return result;
}
cmd_response_received = false;
// Wait for a response. Note that other packets may be received that are not
// command responses.
uint64_t start = supervisor_ticks_ms64();
while (supervisor_ticks_ms64() - start < RESPONSE_TIMEOUT_MSECS) {
// RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
RUN_BACKGROUND_TASKS;
if (cmd_response_received && cmd_response_opcode == opcode) {
// If this is definitely a response to the command that was sent,
// return the status value, which will will be
// BT_HCI_ERR_SUCCESS (0x00) if the command succeeded,
// or a BT_HCI_ERR_x value (> 0x00) if there was a problem.
return cmd_response_status;
}
}
// No I/O error, but no response sent back in time.
return HCI_RESPONSE_TIMEOUT;
}
hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint16_t data_len, uint8_t *data) {
// Wait for all backlogged packets to finish.
while (pending_pkt >= common_hal_bleio_adapter_obj.max_acl_num_buffers) {
// RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
RUN_BACKGROUND_TASKS;
}
// buf_len is size of entire packet including header.
const size_t buf_len = sizeof(h4_hci_acl_pkt_t) + sizeof(acl_data_t) + data_len;
uint8_t tx_buffer[buf_len];
h4_hci_acl_pkt_t *acl_pkt = (h4_hci_acl_pkt_t *)tx_buffer;
acl_data_t *acl_data = (acl_data_t *)acl_pkt->data;
acl_pkt->pkt_type = H4_ACL;
acl_pkt->handle = handle;
acl_pkt->pb = ACL_DATA_PB_FIRST_FLUSH;
acl_pkt->bc = 0;
acl_pkt->data_len = (uint16_t)(sizeof(acl_data_t) + data_len);
acl_data->acl_data_len = data_len;
acl_data->cid = cid;
memcpy(&acl_data->acl_data, data, data_len);
#if HCI_DEBUG
dump_acl_pkt(true, buf_len, tx_buffer);
#endif
pending_pkt++;
int errcode = 0;
common_hal_busio_uart_write(common_hal_bleio_adapter_obj.hci_uart, tx_buffer, buf_len, &errcode);
if (errcode) {
return HCI_WRITE_ERROR;
}
return HCI_OK;
}
hci_result_t hci_reset(void) {
return send_command(BT_HCI_OP_RESET, 0, NULL);
}
hci_result_t hci_read_local_version(uint8_t *hci_version, uint16_t *hci_revision, uint8_t *lmp_version, uint16_t *manufacturer, uint16_t *lmp_subversion) {
hci_result_t result = send_command(BT_HCI_OP_READ_LOCAL_VERSION_INFO, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_read_local_version_info *response =
(struct bt_hci_rp_read_local_version_info *)cmd_response_data;
*hci_version = response->hci_version;
*hci_revision = response->hci_revision;
*lmp_version = response->lmp_version;
*manufacturer = response->manufacturer;
*lmp_subversion = response->lmp_subversion;
}
return result;
}
hci_result_t hci_read_bd_addr(bt_addr_t *addr) {
int result = send_command(BT_HCI_OP_READ_BD_ADDR, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_read_bd_addr *response = (struct bt_hci_rp_read_bd_addr *)cmd_response_data;
memcpy(addr->val, response->bdaddr.val, sizeof_field(bt_addr_t, val));
}
return result;
}
hci_result_t hci_read_rssi(uint16_t handle, int *rssi) {
int result = send_command(BT_HCI_OP_READ_RSSI, sizeof(handle), &handle);
if (result == HCI_OK) {
struct bt_hci_rp_read_rssi *response = (struct bt_hci_rp_read_rssi *)cmd_response_data;
*rssi = response->rssi;
}
return result;
}
hci_result_t hci_set_event_mask(uint64_t event_mask) {
return send_command(BT_HCI_OP_SET_EVENT_MASK, sizeof(event_mask), &event_mask);
}
hci_result_t hci_le_read_buffer_size(uint16_t *le_max_len, uint8_t *le_max_num) {
int result = send_command(BT_HCI_OP_LE_READ_BUFFER_SIZE, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_le_read_buffer_size *response =
(struct bt_hci_rp_le_read_buffer_size *)cmd_response_data;
*le_max_len = response->le_max_len;
*le_max_num = response->le_max_num;
}
return result;
}
hci_result_t hci_read_buffer_size(uint16_t *acl_max_len, uint8_t *sco_max_len, uint16_t *acl_max_num, uint16_t *sco_max_num) {
int result = send_command(BT_HCI_OP_READ_BUFFER_SIZE, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_read_buffer_size *response =
(struct bt_hci_rp_read_buffer_size *)cmd_response_data;
*acl_max_len = response->acl_max_len;
*sco_max_len = response->sco_max_len;
*acl_max_num = response->acl_max_num;
*sco_max_num = response->sco_max_num;
}
return result;
}
hci_result_t hci_le_set_random_address(uint8_t addr[6]) {
return send_command(BT_HCI_OP_LE_SET_RANDOM_ADDRESS, 6, addr);
}
hci_result_t hci_le_set_advertising_parameters(uint16_t min_interval, uint16_t max_interval, uint8_t type, uint8_t own_addr_type, bt_addr_le_t *direct_addr, uint8_t channel_map, uint8_t filter_policy) {
struct bt_hci_cp_le_set_adv_param params = {
.min_interval = min_interval,
.max_interval = max_interval,
.type = type,
.own_addr_type = own_addr_type,
// .direct_addr set below.
.channel_map = channel_map,
.filter_policy = filter_policy,
};
params.direct_addr.type = direct_addr->type;
memcpy(params.direct_addr.a.val, direct_addr->a.val, sizeof(params.direct_addr.a.val));
return send_command(BT_HCI_OP_LE_SET_ADV_PARAM, sizeof(params), &params);
}
hci_result_t hci_le_set_extended_advertising_parameters(uint8_t handle, uint16_t props, uint32_t prim_min_interval, uint32_t prim_max_interval, uint8_t prim_channel_map, uint8_t own_addr_type, bt_addr_le_t *peer_addr, uint8_t filter_policy, int8_t tx_power, uint8_t prim_adv_phy, uint8_t sec_adv_max_skip, uint8_t sec_adv_phy, uint8_t sid, uint8_t scan_req_notify_enable) {
struct bt_hci_cp_le_set_ext_adv_param params = {
.handle = handle,
.props = props,
// .prim_min_interval and .prim_max_interval set below
.prim_channel_map = prim_channel_map,
.own_addr_type = own_addr_type,
// .peer_addr set below.
.tx_power = tx_power,
.sec_adv_max_skip = sec_adv_max_skip,
.sec_adv_phy = sec_adv_phy,
.sid = sid,
.scan_req_notify_enable = scan_req_notify_enable,
};
// Assumes little-endian.
memcpy(params.prim_min_interval, (void *)&prim_min_interval,
sizeof_field(struct bt_hci_cp_le_set_ext_adv_param, prim_min_interval));
memcpy(params.prim_max_interval, (void *)&prim_max_interval,
sizeof_field(struct bt_hci_cp_le_set_ext_adv_param, prim_max_interval));
memcpy(params.peer_addr.a.val, peer_addr->a.val, sizeof_field(bt_addr_le_t, a.val));
return send_command(BT_HCI_OP_LE_SET_EXT_ADV_PARAM, sizeof(params), &params);
}
hci_result_t hci_le_read_maximum_advertising_data_length(uint16_t *max_adv_data_len) {
int result = send_command(BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_le_read_max_adv_data_len *response =
(struct bt_hci_rp_le_read_max_adv_data_len *)cmd_response_data;
*max_adv_data_len = response->max_adv_data_len;
}
return result;
}
hci_result_t hci_le_read_local_supported_features(uint8_t features[8]) {
int result = send_command(BT_HCI_OP_LE_READ_LOCAL_FEATURES, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_le_read_local_features *response =
(struct bt_hci_rp_le_read_local_features *)cmd_response_data;
memcpy(features, response->features,
sizeof_field(struct bt_hci_rp_le_read_local_features, features));
}
return result;
}
hci_result_t hci_le_set_advertising_data(uint8_t len, uint8_t data[]) {
struct bt_hci_cp_le_set_adv_data params = {
// Zero out unused data bytes.
.data = { 0 },
};
params.len = len;
memcpy(params.data, data, len);
// All data bytes are sent even if some are unused.
return send_command(BT_HCI_OP_LE_SET_ADV_DATA, sizeof(params), &params);
}
hci_result_t hci_le_set_extended_advertising_data(uint8_t handle, uint8_t op, uint8_t frag_pref, uint8_t len, uint8_t data[]) {
const uint8_t max_len = sizeof_field(struct bt_hci_cp_le_set_ext_adv_data, data);
uint8_t valid_len = MIN(len, max_len);
struct bt_hci_cp_le_set_ext_adv_data params = {
.handle = handle,
.op = op,
.frag_pref = frag_pref,
.len = valid_len,
};
memcpy(params.data, data, valid_len);
return send_command(BT_HCI_OP_LE_SET_EXT_ADV_DATA, sizeof(params) - (max_len - valid_len), &params);
}
hci_result_t hci_le_set_scan_response_data(uint8_t len, uint8_t data[]) {
struct bt_hci_cp_le_set_scan_rsp_data params = {
// Zero out unused data bytes.
.data = { 0 },
};
params.len = len;
memcpy(params.data, data, len);
// All data bytes are sent even if some are unused.
return send_command(BT_HCI_OP_LE_SET_SCAN_RSP_DATA, sizeof(params), &params);
}
hci_result_t hci_le_set_advertising_enable(uint8_t enable) {
return send_command(BT_HCI_OP_LE_SET_ADV_ENABLE, sizeof(enable), &enable);
}
hci_result_t hci_le_set_extended_advertising_enable(uint8_t enable, uint8_t set_num, uint8_t handle[], uint16_t duration[], uint8_t max_ext_adv_evts[]) {
uint8_t params[sizeof(struct bt_hci_cp_le_set_ext_adv_enable) +
set_num * (sizeof(struct bt_hci_ext_adv_set))];
struct bt_hci_cp_le_set_ext_adv_enable *params_p = (struct bt_hci_cp_le_set_ext_adv_enable *)&params;
params_p->enable = enable;
params_p->set_num = set_num;
for (size_t i = 0; i < set_num; i++) {
params_p->s[i].handle = handle[i];
params_p->s[i].duration = duration[i];
params_p->s[i].max_ext_adv_evts = max_ext_adv_evts[i];
}
return send_command(BT_HCI_OP_LE_SET_EXT_ADV_ENABLE, sizeof(params), &params);
}
hci_result_t hci_le_set_scan_parameters(uint8_t scan_type, uint16_t interval, uint16_t window, uint8_t addr_type, uint8_t filter_policy) {
struct bt_hci_cp_le_set_scan_param params = {
.scan_type = scan_type,
.interval = interval,
.window = window,
.addr_type = addr_type,
.filter_policy = filter_policy,
};
return send_command(BT_HCI_OP_LE_SET_SCAN_PARAM, sizeof(params), &params);
}
hci_result_t hci_le_set_scan_enable(uint8_t enable, uint8_t filter_dup) {
struct bt_hci_cp_le_set_scan_enable params = {
.enable = enable,
.filter_dup = filter_dup,
};
return send_command(BT_HCI_OP_LE_SET_SCAN_ENABLE, sizeof(params), &params);
}
hci_result_t hci_le_create_conn(uint16_t scan_interval, uint16_t scan_window, uint8_t filter_policy, bt_addr_le_t *peer_addr, uint8_t own_addr_type, uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout, uint16_t min_ce_len, uint16_t max_ce_len) {
struct bt_hci_cp_le_create_conn params = {
.scan_interval = scan_interval,
.scan_window = scan_window,
.filter_policy = filter_policy,
// .peer_addr is set below
.own_addr_type = own_addr_type,
.conn_interval_min = conn_interval_min,
.conn_interval_max = conn_interval_max,
.conn_latency = conn_latency,
.supervision_timeout = supervision_timeout,
.min_ce_len = min_ce_len,
.max_ce_len = max_ce_len,
};
params.peer_addr.type = peer_addr->type;
memcpy(params.peer_addr.a.val, peer_addr->a.val, sizeof(params.peer_addr.a.val));
return send_command(BT_HCI_OP_LE_CREATE_CONN, sizeof(params), &params);
}
hci_result_t hci_le_cancel_conn(void) {
return send_command(BT_HCI_OP_CONNECT_CANCEL, 0, NULL);
}
hci_result_t hci_le_conn_update(uint16_t handle, uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout) {
struct hci_cp_le_conn_update params = {
.handle = handle,
.conn_interval_min = conn_interval_min,
.conn_interval_max = conn_interval_max,
.conn_latency = conn_latency,
.supervision_timeout = supervision_timeout,
.min_ce_len = 4,
.max_ce_len = 6,
};
return send_command(BT_HCI_OP_LE_CONN_UPDATE, sizeof(params), &params);
}
hci_result_t hci_disconnect(uint16_t handle) {
struct bt_hci_cp_disconnect params = {
.handle = handle,
.reason = BT_HCI_ERR_REMOTE_USER_TERM_CONN,
};
return send_command(BT_HCI_OP_DISCONNECT, sizeof(params), &params);
}
void hci_check_error(hci_result_t result) {
switch (result) {
case HCI_OK:
return;
case HCI_RESPONSE_TIMEOUT:
mp_raise_bleio_BluetoothError(translate("Timeout waiting for HCI response"));
return;
case HCI_WRITE_TIMEOUT:
mp_raise_bleio_BluetoothError(translate("Timeout waiting to write HCI request"));
return;
case HCI_READ_ERROR:
mp_raise_bleio_BluetoothError(translate("Error reading from HCI adapter"));
return;
case HCI_WRITE_ERROR:
mp_raise_bleio_BluetoothError(translate("Error writing to HCI adapter"));
return;
case HCI_PACKET_SIZE_ERROR:
mp_raise_RuntimeError(translate("HCI packet size mismatch"));
return;
case HCI_ATT_ERROR:
mp_raise_RuntimeError(translate("Error in ATT protocol code"));
return;
default:
// Should be an HCI status error, > 0.
if (result > 0) {
mp_raise_bleio_BluetoothError(translate("HCI status error: %02x"), result);
} else {
mp_raise_bleio_BluetoothError(translate("Unknown hci_result_t: %d"), result);
}
return;
}
}

View file

@ -0,0 +1,81 @@
/*
This file is part of the ArduinoBLE library.
Copyright (c) 2018 Arduino SA. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_HCI_H
#define MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_HCI_H
#include <stdint.h>
#include "common-hal/_bleio/hci_include/hci.h"
#include "common-hal/_bleio/hci_include/hci_err.h"
// Incomplete forward declaration to get around mutually-dependent include files.
typedef struct _bleio_adapter_obj_t bleio_adapter_obj_t;
// An hci_result_t is one of the HCI_x values below,
// or it is > 0 and is an HCI command status value (see hci_include/hci_err.h)
typedef int hci_result_t;
#define HCI_OK (0)
#define HCI_RESPONSE_TIMEOUT (-1)
#define HCI_WRITE_TIMEOUT (-2)
#define HCI_READ_ERROR (-3)
#define HCI_WRITE_ERROR (-4)
#define HCI_ATT_ERROR (-5)
#define HCI_PACKET_SIZE_ERROR (-6)
extern void bleio_hci_reset(void);
void hci_check_error(hci_result_t result);
hci_result_t hci_disconnect(uint16_t handle);
hci_result_t hci_le_cancel_conn(void);
hci_result_t hci_le_conn_update(uint16_t handle, uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout);
hci_result_t hci_le_create_conn(uint16_t scan_interval, uint16_t scan_window, uint8_t filter_policy, bt_addr_le_t *peer_addr, uint8_t own_addr_type, uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout, uint16_t min_ce_len, uint16_t max_ce_len);
hci_result_t hci_le_read_buffer_size(uint16_t *le_max_len, uint8_t *le_max_num);
hci_result_t hci_le_read_maximum_advertising_data_length(uint16_t *max_adv_data_len);
hci_result_t hci_le_read_local_supported_features(uint8_t features[8]);
hci_result_t hci_le_set_advertising_data(uint8_t length, uint8_t data[]);
hci_result_t hci_le_set_advertising_enable(uint8_t enable);
hci_result_t hci_le_set_advertising_parameters(uint16_t min_interval, uint16_t max_interval, uint8_t type, uint8_t own_addr_type, bt_addr_le_t *direct_addr, uint8_t channel_map, uint8_t filter_policy);
hci_result_t hci_le_set_extended_advertising_data(uint8_t handle, uint8_t op, uint8_t frag_pref, uint8_t len, uint8_t data[]);
hci_result_t hci_le_set_extended_advertising_enable(uint8_t enable, uint8_t set_num, uint8_t handle[], uint16_t duration[], uint8_t max_ext_adv_evts[]);
hci_result_t hci_le_set_extended_advertising_parameters(uint8_t handle, uint16_t props, uint32_t prim_min_interval, uint32_t prim_max_interval, uint8_t prim_channel_map, uint8_t own_addr_type, bt_addr_le_t *peer_addr, uint8_t filter_policy, int8_t tx_power, uint8_t prim_adv_phy, uint8_t sec_adv_max_skip, uint8_t sec_adv_phy, uint8_t sid, uint8_t scan_req_notify_enable);
hci_result_t hci_le_set_random_address(uint8_t addr[6]);
hci_result_t hci_le_set_scan_enable(uint8_t enable, uint8_t filter_dup);
hci_result_t hci_le_set_scan_parameters(uint8_t scan_type, uint16_t interval, uint16_t window, uint8_t addr_type, uint8_t filter_policy);
hci_result_t hci_le_set_scan_response_data(uint8_t length, uint8_t data[]);
hci_result_t hci_poll_for_incoming_pkt(void);
hci_result_t hci_read_bd_addr(bt_addr_t *addr);
hci_result_t hci_read_buffer_size(uint16_t *acl_max_len, uint8_t *sco_max_len, uint16_t *acl_max_num, uint16_t *sco_max_num);
hci_result_t hci_read_local_version(uint8_t *hci_version, uint16_t *hci_revision, uint8_t *lmp_version, uint16_t *manufacturer, uint16_t *lmp_subversion);
hci_result_t hci_read_rssi(uint16_t handle, int *rssi);
hci_result_t hci_reset(void);
hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint16_t data_len, uint8_t *data);
hci_result_t hci_set_event_mask(uint64_t event_mask);
#endif // MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_HCI_H

View file

@ -0,0 +1,549 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Dan Halbert for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
// This file is #include'd in hci.c when HCI_DEBUG is non-zero.
STATIC const char *att_opcode_name(uint16_t opcode) {
switch (opcode) {
case BT_ATT_OP_ERROR_RSP:
return "ERROR_RSP";
case BT_ATT_OP_MTU_REQ:
return "MTU_REQ";
case BT_ATT_OP_MTU_RSP:
return "MTU_RSP";
case BT_ATT_OP_FIND_INFO_REQ:
return "FIND_INFO_REQ";
case BT_ATT_OP_FIND_INFO_RSP:
return "FIND_INFO_RSP";
case BT_ATT_OP_FIND_TYPE_REQ:
return "FIND_TYPE_REQ";
case BT_ATT_OP_FIND_TYPE_RSP:
return "FIND_TYPE_RSP";
case BT_ATT_OP_READ_TYPE_REQ:
return "READ_TYPE_REQ";
case BT_ATT_OP_READ_TYPE_RSP:
return "READ_TYPE_RSP";
case BT_ATT_OP_READ_REQ:
return "READ_REQ";
case BT_ATT_OP_READ_RSP:
return "READ_RSP";
case BT_ATT_OP_READ_BLOB_REQ:
return "READ_BLOB_REQ";
case BT_ATT_OP_READ_BLOB_RSP:
return "READ_BLOB_RSP";
case BT_ATT_OP_READ_MULT_REQ:
return "READ_MULT_REQ";
case BT_ATT_OP_READ_MULT_RSP:
return "READ_MULT_RSP";
case BT_ATT_OP_READ_GROUP_REQ:
return "READ_GROUP_REQ";
case BT_ATT_OP_READ_GROUP_RSP:
return "READ_GROUP_RSP";
case BT_ATT_OP_WRITE_REQ:
return "WRITE_REQ";
case BT_ATT_OP_WRITE_RSP:
return "WRITE_RSP";
case BT_ATT_OP_PREPARE_WRITE_REQ:
return "PREPARE_WRITE_REQ";
case BT_ATT_OP_PREPARE_WRITE_RSP:
return "PREPARE_WRITE_RSP";
case BT_ATT_OP_EXEC_WRITE_REQ:
return "EXEC_WRITE_REQ";
case BT_ATT_OP_EXEC_WRITE_RSP:
return "EXEC_WRITE_RSP";
case BT_ATT_OP_NOTIFY:
return "NOTIFY";
case BT_ATT_OP_INDICATE:
return "INDICATE";
case BT_ATT_OP_CONFIRM:
return "CONFIRM";
case BT_ATT_OP_READ_MULT_VL_REQ:
return "READ_MULT_VL_REQ";
case BT_ATT_OP_READ_MULT_VL_RSP:
return "READ_MULT_VL_RSP";
case BT_ATT_OP_NOTIFY_MULT:
return "NOTIFY_MULT";
case BT_ATT_OP_WRITE_CMD:
return "WRITE_CMD";
case BT_ATT_OP_SIGNED_WRITE_CMD:
return "SIGNED_WRITE_CMD";
default:
return "";
}
}
STATIC const char *hci_evt_name(uint8_t evt) {
switch (evt) {
case BT_HCI_EVT_UNKNOWN:
return "UNKNOWN";
case BT_HCI_EVT_VENDOR:
return "VENDOR";
case BT_HCI_EVT_INQUIRY_COMPLETE:
return "INQUIRY_COMPLETE";
case BT_HCI_EVT_CONN_COMPLETE:
return "CONN_COMPLETE";
case BT_HCI_EVT_CONN_REQUEST:
return "CONN_REQUEST";
case BT_HCI_EVT_DISCONN_COMPLETE:
return "DISCONN_COMPLETE";
case BT_HCI_EVT_AUTH_COMPLETE:
return "AUTH_COMPLETE";
case BT_HCI_EVT_REMOTE_NAME_REQ_COMPLETE:
return "REMOTE_NAME_REQ_COMPLETE";
case BT_HCI_EVT_ENCRYPT_CHANGE:
return "ENCRYPT_CHANGE";
case BT_HCI_EVT_REMOTE_FEATURES:
return "REMOTE_FEATURES";
case BT_HCI_EVT_REMOTE_VERSION_INFO:
return "REMOTE_VERSION_INFO";
case BT_HCI_EVT_CMD_COMPLETE:
return "CMD_COMPLETE";
case BT_HCI_EVT_CMD_STATUS:
return "CMD_STATUS";
case BT_HCI_EVT_ROLE_CHANGE:
return "ROLE_CHANGE";
case BT_HCI_EVT_NUM_COMPLETED_PACKETS:
return "NUM_COMPLETED_PACKETS";
case BT_HCI_EVT_PIN_CODE_REQ:
return "PIN_CODE_REQ";
case BT_HCI_EVT_LINK_KEY_REQ:
return "LINK_KEY_REQ";
case BT_HCI_EVT_LINK_KEY_NOTIFY:
return "LINK_KEY_NOTIFY";
case BT_HCI_EVT_DATA_BUF_OVERFLOW:
return "DATA_BUF_OVERFLOW";
case BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI:
return "INQUIRY_RESULT_WITH_RSSI";
case BT_HCI_EVT_REMOTE_EXT_FEATURES:
return "REMOTE_EXT_FEATURES";
case BT_HCI_EVT_SYNC_CONN_COMPLETE:
return "SYNC_CONN_COMPLETE";
case BT_HCI_EVT_EXTENDED_INQUIRY_RESULT:
return "EXTENDED_INQUIRY_RESULT";
case BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE:
return "ENCRYPT_KEY_REFRESH_COMPLETE";
case BT_HCI_EVT_IO_CAPA_REQ:
return "IO_CAPA_REQ";
case BT_HCI_EVT_IO_CAPA_RESP:
return "IO_CAPA_RESP";
case BT_HCI_EVT_USER_CONFIRM_REQ:
return "USER_CONFIRM_REQ";
case BT_HCI_EVT_USER_PASSKEY_REQ:
return "USER_PASSKEY_REQ";
case BT_HCI_EVT_SSP_COMPLETE:
return "SSP_COMPLETE";
case BT_HCI_EVT_USER_PASSKEY_NOTIFY:
return "USER_PASSKEY_NOTIFY";
case BT_HCI_EVT_LE_META_EVENT:
return "LE_META_EVENT";
case BT_HCI_EVT_AUTH_PAYLOAD_TIMEOUT_EXP:
return "AUTH_PAYLOAD_TIMEOUT_EXP";
default:
return "";
}
}
STATIC const char *hci_evt_le_name(uint8_t evt_le) {
switch (evt_le) {
case BT_HCI_EVT_LE_CONN_COMPLETE:
return "LE_CONN_COMPLETE";
case BT_HCI_EVT_LE_ADVERTISING_REPORT:
return "LE_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE:
return "LE_CONN_UPDATE_COMPLETE";
case BT_HCI_EVT_LE_LTK_REQUEST:
return "LE_LTK_REQUEST";
case BT_HCI_EVT_LE_CONN_PARAM_REQ:
return "LE_CONN_PARAM_REQ";
case BT_HCI_EVT_LE_DATA_LEN_CHANGE:
return "LE_DATA_LEN_CHANGE";
case BT_HCI_EVT_LE_P256_PUBLIC_KEY_COMPLETE:
return "LE_P256_PUBLIC_KEY_COMPLETE";
case BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE:
return "LE_GENERATE_DHKEY_COMPLETE";
case BT_HCI_EVT_LE_ENH_CONN_COMPLETE:
return "LE_ENH_CONN_COMPLETE";
case BT_HCI_EVT_LE_DIRECT_ADV_REPORT:
return "LE_DIRECT_ADV_REPORT";
case BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE:
return "LE_PHY_UPDATE_COMPLETE";
case BT_HCI_EVT_LE_EXT_ADVERTISING_REPORT:
return "LE_EXT_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_PER_ADV_SYNC_ESTABLISHED:
return "LE_PER_ADV_SYNC_ESTABLISHED";
case BT_HCI_EVT_LE_PER_ADVERTISING_REPORT:
return "LE_PER_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_PER_ADV_SYNC_LOST:
return "LE_PER_ADV_SYNC_LOST";
case BT_HCI_EVT_LE_SCAN_TIMEOUT:
return "LE_SCAN_TIMEOUT";
case BT_HCI_EVT_LE_ADV_SET_TERMINATED:
return "LE_ADV_SET_TERMINATED";
case BT_HCI_EVT_LE_SCAN_REQ_RECEIVED:
return "LE_SCAN_REQ_RECEIVED";
case BT_HCI_EVT_LE_CHAN_SEL_ALGO:
return "LE_CHAN_SEL_ALGO";
default:
return "";
}
}
STATIC const char *hci_opcode_name(uint16_t opcode) {
switch (opcode) {
case BT_OP_NOP:
return "NOP";
case BT_HCI_OP_INQUIRY:
return "INQUIRY";
case BT_HCI_OP_INQUIRY_CANCEL:
return "INQUIRY_CANCEL";
case BT_HCI_OP_CONNECT:
return "CONNECT";
case BT_HCI_OP_DISCONNECT:
return "DISCONNECT";
case BT_HCI_OP_CONNECT_CANCEL:
return "CONNECT_CANCEL";
case BT_HCI_OP_ACCEPT_CONN_REQ:
return "ACCEPT_CONN_REQ";
case BT_HCI_OP_SETUP_SYNC_CONN:
return "SETUP_SYNC_CONN";
case BT_HCI_OP_ACCEPT_SYNC_CONN_REQ:
return "ACCEPT_SYNC_CONN_REQ";
case BT_HCI_OP_REJECT_CONN_REQ:
return "REJECT_CONN_REQ";
case BT_HCI_OP_LINK_KEY_REPLY:
return "LINK_KEY_REPLY";
case BT_HCI_OP_LINK_KEY_NEG_REPLY:
return "LINK_KEY_NEG_REPLY";
case BT_HCI_OP_PIN_CODE_REPLY:
return "PIN_CODE_REPLY";
case BT_HCI_OP_PIN_CODE_NEG_REPLY:
return "PIN_CODE_NEG_REPLY";
case BT_HCI_OP_AUTH_REQUESTED:
return "AUTH_REQUESTED";
case BT_HCI_OP_SET_CONN_ENCRYPT:
return "SET_CONN_ENCRYPT";
case BT_HCI_OP_REMOTE_NAME_REQUEST:
return "REMOTE_NAME_REQUEST";
case BT_HCI_OP_REMOTE_NAME_CANCEL:
return "REMOTE_NAME_CANCEL";
case BT_HCI_OP_READ_REMOTE_FEATURES:
return "READ_REMOTE_FEATURES";
case BT_HCI_OP_READ_REMOTE_EXT_FEATURES:
return "READ_REMOTE_EXT_FEATURES";
case BT_HCI_OP_READ_REMOTE_VERSION_INFO:
return "READ_REMOTE_VERSION_INFO";
case BT_HCI_OP_IO_CAPABILITY_REPLY:
return "IO_CAPABILITY_REPLY";
case BT_HCI_OP_USER_CONFIRM_REPLY:
return "USER_CONFIRM_REPLY";
case BT_HCI_OP_USER_CONFIRM_NEG_REPLY:
return "USER_CONFIRM_NEG_REPLY";
case BT_HCI_OP_USER_PASSKEY_REPLY:
return "USER_PASSKEY_REPLY";
case BT_HCI_OP_USER_PASSKEY_NEG_REPLY:
return "USER_PASSKEY_NEG_REPLY";
case BT_HCI_OP_IO_CAPABILITY_NEG_REPLY:
return "IO_CAPABILITY_NEG_REPLY";
case BT_HCI_OP_SET_EVENT_MASK:
return "SET_EVENT_MASK";
case BT_HCI_OP_RESET:
return "RESET";
case BT_HCI_OP_WRITE_LOCAL_NAME:
return "WRITE_LOCAL_NAME";
case BT_HCI_OP_WRITE_PAGE_TIMEOUT:
return "WRITE_PAGE_TIMEOUT";
case BT_HCI_OP_WRITE_SCAN_ENABLE:
return "WRITE_SCAN_ENABLE";
case BT_HCI_OP_READ_TX_POWER_LEVEL:
return "READ_TX_POWER_LEVEL";
case BT_HCI_OP_SET_CTL_TO_HOST_FLOW:
return "SET_CTL_TO_HOST_FLOW";
case BT_HCI_OP_HOST_BUFFER_SIZE:
return "HOST_BUFFER_SIZE";
case BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS:
return "HOST_NUM_COMPLETED_PACKETS";
case BT_HCI_OP_WRITE_INQUIRY_MODE:
return "WRITE_INQUIRY_MODE";
case BT_HCI_OP_WRITE_SSP_MODE:
return "WRITE_SSP_MODE";
case BT_HCI_OP_SET_EVENT_MASK_PAGE_2:
return "SET_EVENT_MASK_PAGE_2";
case BT_HCI_OP_LE_WRITE_LE_HOST_SUPP:
return "LE_WRITE_LE_HOST_SUPP";
case BT_HCI_OP_WRITE_SC_HOST_SUPP:
return "WRITE_SC_HOST_SUPP";
case BT_HCI_OP_READ_AUTH_PAYLOAD_TIMEOUT:
return "READ_AUTH_PAYLOAD_TIMEOUT";
case BT_HCI_OP_WRITE_AUTH_PAYLOAD_TIMEOUT:
return "WRITE_AUTH_PAYLOAD_TIMEOUT";
case BT_HCI_OP_READ_LOCAL_VERSION_INFO:
return "READ_LOCAL_VERSION_INFO";
case BT_HCI_OP_READ_SUPPORTED_COMMANDS:
return "READ_SUPPORTED_COMMANDS";
case BT_HCI_OP_READ_LOCAL_EXT_FEATURES:
return "READ_LOCAL_EXT_FEATURES";
case BT_HCI_OP_READ_LOCAL_FEATURES:
return "READ_LOCAL_FEATURES";
case BT_HCI_OP_READ_BUFFER_SIZE:
return "READ_BUFFER_SIZE";
case BT_HCI_OP_READ_BD_ADDR:
return "READ_BD_ADDR";
case BT_HCI_OP_READ_RSSI:
return "READ_RSSI";
case BT_HCI_OP_READ_ENCRYPTION_KEY_SIZE:
return "READ_ENCRYPTION_KEY_SIZE";
case BT_HCI_OP_LE_SET_EVENT_MASK:
return "LE_SET_EVENT_MASK";
case BT_HCI_OP_LE_READ_BUFFER_SIZE:
return "LE_READ_BUFFER_SIZE";
case BT_HCI_OP_LE_READ_LOCAL_FEATURES:
return "LE_READ_LOCAL_FEATURES";
case BT_HCI_OP_LE_SET_RANDOM_ADDRESS:
return "LE_SET_RANDOM_ADDRESS";
case BT_HCI_OP_LE_SET_ADV_PARAM:
return "LE_SET_ADV_PARAM";
case BT_HCI_OP_LE_READ_ADV_CHAN_TX_POWER:
return "LE_READ_ADV_CHAN_TX_POWER";
case BT_HCI_OP_LE_SET_ADV_DATA:
return "LE_SET_ADV_DATA";
case BT_HCI_OP_LE_SET_SCAN_RSP_DATA:
return "LE_SET_SCAN_RSP_DATA";
case BT_HCI_OP_LE_SET_ADV_ENABLE:
return "LE_SET_ADV_ENABLE";
case BT_HCI_OP_LE_SET_SCAN_PARAM:
return "LE_SET_SCAN_PARAM";
case BT_HCI_OP_LE_SET_SCAN_ENABLE:
return "LE_SET_SCAN_ENABLE";
case BT_HCI_OP_LE_CREATE_CONN:
return "LE_CREATE_CONN";
case BT_HCI_OP_LE_CREATE_CONN_CANCEL:
return "LE_CREATE_CONN_CANCEL";
case BT_HCI_OP_LE_READ_WL_SIZE:
return "LE_READ_WL_SIZE";
case BT_HCI_OP_LE_CLEAR_WL:
return "LE_CLEAR_WL";
case BT_HCI_OP_LE_ADD_DEV_TO_WL:
return "LE_ADD_DEV_TO_WL";
case BT_HCI_OP_LE_REM_DEV_FROM_WL:
return "LE_REM_DEV_FROM_WL";
case BT_HCI_OP_LE_CONN_UPDATE:
return "LE_CONN_UPDATE";
case BT_HCI_OP_LE_SET_HOST_CHAN_CLASSIF:
return "LE_SET_HOST_CHAN_CLASSIF";
case BT_HCI_OP_LE_READ_CHAN_MAP:
return "LE_READ_CHAN_MAP";
case BT_HCI_OP_LE_READ_REMOTE_FEATURES:
return "LE_READ_REMOTE_FEATURES";
case BT_HCI_OP_LE_ENCRYPT:
return "LE_ENCRYPT";
case BT_HCI_OP_LE_RAND:
return "LE_RAND";
case BT_HCI_OP_LE_START_ENCRYPTION:
return "LE_START_ENCRYPTION";
case BT_HCI_OP_LE_LTK_REQ_REPLY:
return "LE_LTK_REQ_REPLY";
case BT_HCI_OP_LE_LTK_REQ_NEG_REPLY:
return "LE_LTK_REQ_NEG_REPLY";
case BT_HCI_OP_LE_READ_SUPP_STATES:
return "LE_READ_SUPP_STATES";
case BT_HCI_OP_LE_RX_TEST:
return "LE_RX_TEST";
case BT_HCI_OP_LE_TX_TEST:
return "LE_TX_TEST";
case BT_HCI_OP_LE_TEST_END:
return "LE_TEST_END";
case BT_HCI_OP_LE_CONN_PARAM_REQ_REPLY:
return "LE_CONN_PARAM_REQ_REPLY";
case BT_HCI_OP_LE_CONN_PARAM_REQ_NEG_REPLY:
return "LE_CONN_PARAM_REQ_NEG_REPLY";
case BT_HCI_OP_LE_SET_DATA_LEN:
return "LE_SET_DATA_LEN";
case BT_HCI_OP_LE_READ_DEFAULT_DATA_LEN:
return "LE_READ_DEFAULT_DATA_LEN";
case BT_HCI_OP_LE_WRITE_DEFAULT_DATA_LEN:
return "LE_WRITE_DEFAULT_DATA_LEN";
case BT_HCI_OP_LE_P256_PUBLIC_KEY:
return "LE_P256_PUBLIC_KEY";
case BT_HCI_OP_LE_GENERATE_DHKEY:
return "LE_GENERATE_DHKEY";
case BT_HCI_OP_LE_ADD_DEV_TO_RL:
return "LE_ADD_DEV_TO_RL";
case BT_HCI_OP_LE_REM_DEV_FROM_RL:
return "LE_REM_DEV_FROM_RL";
case BT_HCI_OP_LE_CLEAR_RL:
return "LE_CLEAR_RL";
case BT_HCI_OP_LE_READ_RL_SIZE:
return "LE_READ_RL_SIZE";
case BT_HCI_OP_LE_READ_PEER_RPA:
return "LE_READ_PEER_RPA";
case BT_HCI_OP_LE_READ_LOCAL_RPA:
return "LE_READ_LOCAL_RPA";
case BT_HCI_OP_LE_SET_ADDR_RES_ENABLE:
return "LE_SET_ADDR_RES_ENABLE";
case BT_HCI_OP_LE_SET_RPA_TIMEOUT:
return "LE_SET_RPA_TIMEOUT";
case BT_HCI_OP_LE_READ_MAX_DATA_LEN:
return "LE_READ_MAX_DATA_LEN";
case BT_HCI_OP_LE_READ_PHY:
return "LE_READ_PHY";
case BT_HCI_OP_LE_SET_DEFAULT_PHY:
return "LE_SET_DEFAULT_PHY";
case BT_HCI_OP_LE_SET_PHY:
return "LE_SET_PHY";
case BT_HCI_OP_LE_ENH_RX_TEST:
return "LE_ENH_RX_TEST";
case BT_HCI_OP_LE_ENH_TX_TEST:
return "LE_ENH_TX_TEST";
case BT_HCI_OP_LE_SET_ADV_SET_RANDOM_ADDR:
return "LE_SET_ADV_SET_RANDOM_ADDR";
case BT_HCI_OP_LE_SET_EXT_ADV_PARAM:
return "LE_SET_EXT_ADV_PARAM";
case BT_HCI_OP_LE_SET_EXT_ADV_DATA:
return "LE_SET_EXT_ADV_DATA";
case BT_HCI_OP_LE_SET_EXT_SCAN_RSP_DATA:
return "LE_SET_EXT_SCAN_RSP_DATA";
case BT_HCI_OP_LE_SET_EXT_ADV_ENABLE:
return "LE_SET_EXT_ADV_ENABLE";
case BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN:
return "LE_READ_MAX_ADV_DATA_LEN";
case BT_HCI_OP_LE_READ_NUM_ADV_SETS:
return "LE_READ_NUM_ADV_SETS";
case BT_HCI_OP_LE_REMOVE_ADV_SET:
return "LE_REMOVE_ADV_SET";
case BT_HCI_OP_CLEAR_ADV_SETS:
return "CLEAR_ADV_SETS";
case BT_HCI_OP_LE_SET_PER_ADV_PARAM:
return "LE_SET_PER_ADV_PARAM";
case BT_HCI_OP_LE_SET_PER_ADV_DATA:
return "LE_SET_PER_ADV_DATA";
case BT_HCI_OP_LE_SET_PER_ADV_ENABLE:
return "LE_SET_PER_ADV_ENABLE";
case BT_HCI_OP_LE_SET_EXT_SCAN_PARAM:
return "LE_SET_EXT_SCAN_PARAM";
case BT_HCI_OP_LE_SET_EXT_SCAN_ENABLE:
return "LE_SET_EXT_SCAN_ENABLE";
case BT_HCI_OP_LE_EXT_CREATE_CONN:
return "LE_EXT_CREATE_CONN";
case BT_HCI_OP_LE_PER_ADV_CREATE_SYNC:
return "LE_PER_ADV_CREATE_SYNC";
case BT_HCI_OP_LE_PER_ADV_CREATE_SYNC_CANCEL:
return "LE_PER_ADV_CREATE_SYNC_CANCEL";
case BT_HCI_OP_LE_PER_ADV_TERMINATE_SYNC:
return "LE_PER_ADV_TERMINATE_SYNC";
case BT_HCI_OP_LE_ADD_DEV_TO_PER_ADV_LIST:
return "LE_ADD_DEV_TO_PER_ADV_LIST";
case BT_HCI_OP_LE_REM_DEV_FROM_PER_ADV_LIST:
return "LE_REM_DEV_FROM_PER_ADV_LIST";
case BT_HCI_OP_LE_CLEAR_PER_ADV_LIST:
return "LE_CLEAR_PER_ADV_LIST";
case BT_HCI_OP_LE_READ_PER_ADV_LIST_SIZE:
return "LE_READ_PER_ADV_LIST_SIZE";
case BT_HCI_OP_LE_READ_TX_POWER:
return "LE_READ_TX_POWER";
case BT_HCI_OP_LE_READ_RF_PATH_COMP:
return "LE_READ_RF_PATH_COMP";
case BT_HCI_OP_LE_WRITE_RF_PATH_COMP:
return "LE_WRITE_RF_PATH_COMP";
case BT_HCI_OP_LE_SET_PRIVACY_MODE:
return "LE_SET_PRIVACY_MODE";
default:
return "";
}
}
STATIC void dump_cmd_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_cmd_pkt_t *pkt = (h4_hci_cmd_pkt_t *)pkt_data;
mp_printf(&mp_plat_print,
"%s HCI COMMAND (%x) op: %s (%04x), len: %d, data: ",
tx ? "TX->" : "RX<-",
pkt->pkt_type,
hci_opcode_name(pkt->opcode), pkt->opcode, pkt->param_len);
for (size_t i = 0; i < pkt->param_len; i++) {
mp_printf(&mp_plat_print, "%02x ", pkt->params[i]);
}
if (pkt_len != sizeof(h4_hci_cmd_pkt_t) + pkt->param_len) {
mp_printf(&mp_plat_print, " LENGTH MISMATCH, pkt_len: %d", pkt_len);
}
mp_printf(&mp_plat_print, "\n");
}
STATIC void dump_acl_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_acl_pkt_t *pkt = (h4_hci_acl_pkt_t *)pkt_data;
acl_data_t *acl = (acl_data_t *)pkt->data;
mp_printf(&mp_plat_print,
"%s HCI ACLDATA (%x) ",
tx ? "TX->" : "RX<-", pkt->pkt_type);
if (pkt->pb != ACL_DATA_PB_MIDDLE && acl->cid == BT_L2CAP_CID_ATT) {
// This is the start of a fragmented acl_data packet or is a full packet,
// and is an ATT protocol packet.
mp_printf(&mp_plat_print, "att: %s (%02x), ", att_opcode_name(acl->acl_data[0]), acl->acl_data[0]);
}
mp_printf(&mp_plat_print,
"handle: %04x, pb: %d, bc: %d, data_len: %d, ",
pkt->handle, pkt->pb, pkt->bc, pkt->data_len);
if (pkt->pb != ACL_DATA_PB_MIDDLE) {
// This is the start of a fragmented acl_data packet or is a full packet.
mp_printf(&mp_plat_print,
"acl data_len: %d, cid: %04x, data: ",
acl->acl_data_len, acl->cid);
for (size_t i = 0; i < acl->acl_data_len; i++) {
mp_printf(&mp_plat_print, "%02x ", acl->acl_data[i]);
}
} else {
for (size_t i = 0; i < pkt->data_len; i++) {
mp_printf(&mp_plat_print, "more data: %02x ", pkt->data[i]);
}
}
if (pkt_len != sizeof(h4_hci_acl_pkt_t) + pkt->data_len) {
mp_printf(&mp_plat_print, " LENGTH MISMATCH, pkt_len: %d", pkt_len);
}
mp_printf(&mp_plat_print, "\n");
}
STATIC void dump_evt_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_evt_pkt_t *pkt = (h4_hci_evt_pkt_t *)pkt_data;
mp_printf(&mp_plat_print,
"%s HCI EVENT (%x) evt: %s (%02x), param_len: %d, data: ",
tx ? "TX->" : "RX<-",
pkt->pkt_type,
pkt->evt == BT_HCI_EVT_LE_META_EVENT
? hci_evt_le_name(pkt->params[0])
: hci_evt_name(pkt->evt),
pkt->evt, pkt->param_len);
for (size_t i = 0; i < pkt->param_len; i++) {
mp_printf(&mp_plat_print, "%02x ", pkt->params[i]);
}
if (pkt_len != sizeof(h4_hci_evt_pkt_t) + pkt->param_len) {
mp_printf(&mp_plat_print, " LENGTH MISMATCH, pkt_len: %d", pkt_len);
}
mp_printf(&mp_plat_print, "\n");
}

View file

@ -0,0 +1,2 @@
The HCI-related include files here were copied from the Zephyr project, from this commit:
https://github.com/zephyrproject-rtos/zephyr/tree/0a87f9359edf1ec1c169626df3e19c2b4a4e9646/include/bluetooth

View file

@ -0,0 +1,95 @@
// CircuitPython: Adapted from Zephyer include files.
/** @file
* @brief Bluetooth device address definitions and utilities.
*/
/*
* Copyright (c) 2019 Nordic Semiconductor ASA
* Copyright 2020 Dan Halbert for Adafruit Industries
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_BLUETOOTH_ADDR_H_
#define ZEPHYR_INCLUDE_BLUETOOTH_ADDR_H_
#include <stdbool.h>
#include <string.h>
/**
* @brief Bluetooth device address definitions and utilities.
* @defgroup bt_addr Device Address
* @ingroup bluetooth
* @{
*/
#define BT_ADDR_LE_PUBLIC 0x00
#define BT_ADDR_LE_RANDOM 0x01
#define BT_ADDR_LE_PUBLIC_ID 0x02
#define BT_ADDR_LE_RANDOM_ID 0x03
/** Bluetooth Device Address */
typedef struct {
uint8_t val[6];
} bt_addr_t;
/** Bluetooth LE Device Address */
typedef struct {
uint8_t type;
bt_addr_t a;
} bt_addr_le_t;
#define BT_ADDR_ANY ((bt_addr_t[]) { { { 0, 0, 0, 0, 0, 0 } } })
#define BT_ADDR_NONE ((bt_addr_t[]) { { \
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } } })
#define BT_ADDR_LE_ANY ((bt_addr_le_t[]) { { 0, { { 0, 0, 0, 0, 0, 0 } } } })
#define BT_ADDR_LE_NONE ((bt_addr_le_t[]) { { 0, \
{ { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } } } })
static inline int bt_addr_cmp(const bt_addr_t *a, const bt_addr_t *b) {
return memcmp(a, b, sizeof(*a));
}
static inline int bt_addr_le_cmp(const bt_addr_le_t *a, const bt_addr_le_t *b) {
return memcmp(a, b, sizeof(*a));
}
static inline void bt_addr_copy(bt_addr_t *dst, const bt_addr_t *src) {
memcpy(dst, src, sizeof(*dst));
}
static inline void bt_addr_le_copy(bt_addr_le_t *dst, const bt_addr_le_t *src) {
memcpy(dst, src, sizeof(*dst));
}
#define BT_ADDR_IS_RPA(a) (((a)->val[5] & 0xc0) == 0x40)
#define BT_ADDR_IS_NRPA(a) (((a)->val[5] & 0xc0) == 0x00)
#define BT_ADDR_IS_STATIC(a) (((a)->val[5] & 0xc0) == 0xc0)
#define BT_ADDR_SET_RPA(a) ((a)->val[5] = (((a)->val[5] & 0x3f) | 0x40))
#define BT_ADDR_SET_NRPA(a) ((a)->val[5] &= 0x3f)
#define BT_ADDR_SET_STATIC(a) ((a)->val[5] |= 0xc0)
int bt_addr_le_create_nrpa(bt_addr_le_t *addr);
int bt_addr_le_create_static(bt_addr_le_t *addr);
static inline bool bt_addr_le_is_rpa(const bt_addr_le_t *addr) {
if (addr->type != BT_ADDR_LE_RANDOM) {
return false;
}
return BT_ADDR_IS_RPA(&addr->a);
}
static inline bool bt_addr_le_is_identity(const bt_addr_le_t *addr) {
if (addr->type == BT_ADDR_LE_PUBLIC) {
return true;
}
return BT_ADDR_IS_STATIC(&addr->a);
}
/**
* @}
*/
#endif /* ZEPHYR_INCLUDE_BLUETOOTH_ADDR_H_ */

View file

@ -0,0 +1,41 @@
// CircuitPython: Adapted from Zephyr include file.
/** @file
* @brief Attribute Protocol handling.
*/
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_BLUETOOTH_ATT_H_
#define ZEPHYR_INCLUDE_BLUETOOTH_ATT_H_
/* Error codes for Error response PDU */
#define BT_ATT_ERR_INVALID_HANDLE 0x01
#define BT_ATT_ERR_READ_NOT_PERMITTED 0x02
#define BT_ATT_ERR_WRITE_NOT_PERMITTED 0x03
#define BT_ATT_ERR_INVALID_PDU 0x04
#define BT_ATT_ERR_AUTHENTICATION 0x05
#define BT_ATT_ERR_NOT_SUPPORTED 0x06
#define BT_ATT_ERR_INVALID_OFFSET 0x07
#define BT_ATT_ERR_AUTHORIZATION 0x08
#define BT_ATT_ERR_PREPARE_QUEUE_FULL 0x09
#define BT_ATT_ERR_ATTRIBUTE_NOT_FOUND 0x0a
#define BT_ATT_ERR_ATTRIBUTE_NOT_LONG 0x0b
#define BT_ATT_ERR_ENCRYPTION_KEY_SIZE 0x0c
#define BT_ATT_ERR_INVALID_ATTRIBUTE_LEN 0x0d
#define BT_ATT_ERR_UNLIKELY 0x0e
#define BT_ATT_ERR_INSUFFICIENT_ENCRYPTION 0x0f
#define BT_ATT_ERR_UNSUPPORTED_GROUP_TYPE 0x10
#define BT_ATT_ERR_INSUFFICIENT_RESOURCES 0x11
#define BT_ATT_ERR_DB_OUT_OF_SYNC 0x12
#define BT_ATT_ERR_VALUE_NOT_ALLOWED 0x13
/* Common Profile Error Codes (from CSS) */
#define BT_ATT_ERR_WRITE_REQ_REJECTED 0xfc
#define BT_ATT_ERR_CCC_IMPROPER_CONF 0xfd
#define BT_ATT_ERR_PROCEDURE_IN_PROGRESS 0xfe
#define BT_ATT_ERR_OUT_OF_RANGE 0xff
#endif /* ZEPHYR_INCLUDE_BLUETOOTH_ATT_H_ */

View file

@ -0,0 +1,272 @@
// CircuitPython: Adapted from Zephyr include file.
/* att_internal.h - Attribute protocol handling */
/*
* Copyright (c) 2015-2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
// for __packed
#include <sys/cdefs.h>
#define BT_EATT_PSM 0x27
#define BT_ATT_DEFAULT_LE_MTU 23
#define BT_ATT_TIMEOUT K_SECONDS(30)
// FIX #if BT_L2CAP_RX_MTU < CONFIG_BT_L2CAP_TX_MTU
// #define BT_ATT_MTU BT_L2CAP_RX_MTU
// #else
// #define BT_ATT_MTU CONFIG_BT_L2CAP_TX_MTU
// #endif
struct bt_att_hdr {
uint8_t code;
} __packed;
#define BT_ATT_OP_ERROR_RSP 0x01
struct bt_att_error_rsp {
uint8_t request;
uint16_t handle;
uint8_t error;
} __packed;
#define BT_ATT_OP_MTU_REQ 0x02
struct bt_att_exchange_mtu_req {
uint16_t mtu;
} __packed;
#define BT_ATT_OP_MTU_RSP 0x03
struct bt_att_exchange_mtu_rsp {
uint16_t mtu;
} __packed;
/* Find Information Request */
#define BT_ATT_OP_FIND_INFO_REQ 0x04
struct bt_att_find_info_req {
uint16_t start_handle;
uint16_t end_handle;
} __packed;
/* Format field values for BT_ATT_OP_FIND_INFO_RSP */
#define BT_ATT_INFO_16 0x01
#define BT_ATT_INFO_128 0x02
struct bt_att_info_16 {
uint16_t handle;
uint16_t uuid;
} __packed;
struct bt_att_info_128 {
uint16_t handle;
uint8_t uuid[16];
} __packed;
/* Find Information Response */
#define BT_ATT_OP_FIND_INFO_RSP 0x05
struct bt_att_find_info_rsp {
uint8_t format;
uint8_t info[];
} __packed;
/* Find By Type Value Request */
#define BT_ATT_OP_FIND_TYPE_REQ 0x06
struct bt_att_find_type_req {
uint16_t start_handle;
uint16_t end_handle;
uint16_t type;
uint8_t value[];
} __packed;
struct bt_att_handle_group {
uint16_t start_handle;
uint16_t end_handle;
} __packed;
/* Find By Type Value Response */
#define BT_ATT_OP_FIND_TYPE_RSP 0x07
struct bt_att_find_type_rsp {
uint8_t _dummy[0];
struct bt_att_handle_group list[];
} __packed;
/* Read By Type Request */
#define BT_ATT_OP_READ_TYPE_REQ 0x08
struct bt_att_read_type_req {
uint16_t start_handle;
uint16_t end_handle;
uint8_t uuid[];
} __packed;
struct bt_att_data {
uint16_t handle;
uint8_t value[];
} __packed;
/* Read By Type Response */
#define BT_ATT_OP_READ_TYPE_RSP 0x09
struct bt_att_read_type_rsp {
uint8_t len;
struct bt_att_data data[];
} __packed;
/* Read Request */
#define BT_ATT_OP_READ_REQ 0x0a
struct bt_att_read_req {
uint16_t handle;
} __packed;
/* Read Response */
#define BT_ATT_OP_READ_RSP 0x0b
struct bt_att_read_rsp {
uint8_t _dummy[0];
uint8_t value[];
} __packed;
/* Read Blob Request */
#define BT_ATT_OP_READ_BLOB_REQ 0x0c
struct bt_att_read_blob_req {
uint16_t handle;
uint16_t offset;
} __packed;
/* Read Blob Response */
#define BT_ATT_OP_READ_BLOB_RSP 0x0d
struct bt_att_read_blob_rsp {
uint8_t _dummy[0];
uint8_t value[];
} __packed;
/* Read Multiple Request */
#define BT_ATT_READ_MULT_MIN_LEN_REQ 0x04
#define BT_ATT_OP_READ_MULT_REQ 0x0e
struct bt_att_read_mult_req {
uint8_t _dummy[0];
uint16_t handles[];
} __packed;
/* Read Multiple Respose */
#define BT_ATT_OP_READ_MULT_RSP 0x0f
struct bt_att_read_mult_rsp {
uint8_t _dummy[0];
uint8_t value[];
} __packed;
/* Read by Group Type Request */
#define BT_ATT_OP_READ_GROUP_REQ 0x10
struct bt_att_read_group_req {
uint16_t start_handle;
uint16_t end_handle;
uint8_t uuid[];
} __packed;
struct bt_att_group_data {
uint16_t start_handle;
uint16_t end_handle;
uint8_t value[];
} __packed;
/* Read by Group Type Response */
#define BT_ATT_OP_READ_GROUP_RSP 0x11
struct bt_att_read_group_rsp {
uint8_t len;
struct bt_att_group_data data[];
} __packed;
/* Write Request */
#define BT_ATT_OP_WRITE_REQ 0x12
struct bt_att_write_req {
uint16_t handle;
uint8_t value[];
} __packed;
/* Write Response */
#define BT_ATT_OP_WRITE_RSP 0x13
/* Prepare Write Request */
#define BT_ATT_OP_PREPARE_WRITE_REQ 0x16
struct bt_att_prepare_write_req {
uint16_t handle;
uint16_t offset;
uint8_t value[];
} __packed;
/* Prepare Write Respond */
#define BT_ATT_OP_PREPARE_WRITE_RSP 0x17
struct bt_att_prepare_write_rsp {
uint16_t handle;
uint16_t offset;
uint8_t value[];
} __packed;
/* Execute Write Request */
#define BT_ATT_FLAG_CANCEL 0x00
#define BT_ATT_FLAG_EXEC 0x01
#define BT_ATT_OP_EXEC_WRITE_REQ 0x18
struct bt_att_exec_write_req {
uint8_t flags;
} __packed;
/* Execute Write Response */
#define BT_ATT_OP_EXEC_WRITE_RSP 0x19
/* Handle Value Notification */
#define BT_ATT_OP_NOTIFY 0x1b
struct bt_att_notify {
uint16_t handle;
uint8_t value[];
} __packed;
/* Handle Value Indication */
#define BT_ATT_OP_INDICATE 0x1d
struct bt_att_indicate {
uint16_t handle;
uint8_t value[];
} __packed;
/* Handle Value Confirm */
#define BT_ATT_OP_CONFIRM 0x1e
struct bt_att_signature {
uint8_t value[12];
} __packed;
#define BT_ATT_OP_READ_MULT_VL_REQ 0x20
struct bt_att_read_mult_vl_req {
uint8_t _dummy[0];
uint16_t handles[];
} __packed;
/* Read Multiple Respose */
#define BT_ATT_OP_READ_MULT_VL_RSP 0x21
struct bt_att_read_mult_vl_rsp {
uint16_t len;
uint8_t value[];
} __packed;
/* Handle Multiple Value Notification */
#define BT_ATT_OP_NOTIFY_MULT 0x23
struct bt_att_notify_mult {
uint16_t handle;
uint16_t len;
uint8_t value[];
} __packed;
/* Write Command */
#define BT_ATT_OP_WRITE_CMD 0x52
struct bt_att_write_cmd {
uint16_t handle;
uint8_t value[];
} __packed;
/* Signed Write Command */
#define BT_ATT_OP_SIGNED_WRITE_CMD 0xd2
struct bt_att_signed_write_cmd {
uint16_t handle;
uint8_t value[];
} __packed;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,92 @@
/** @file
* @brief Bluetooth Host Control Interface status codes.
*/
/*
* Copyright (c) 2019 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_BLUETOOTH_HCI_STATUS_H_
#define ZEPHYR_INCLUDE_BLUETOOTH_HCI_STATUS_H_
#ifdef __cplusplus
extern "C" {
#endif
/** HCI Error Codes, BT Core Spec v5.2 [Vol 1, Part F]. */
#define BT_HCI_ERR_SUCCESS 0x00
#define BT_HCI_ERR_UNKNOWN_CMD 0x01
#define BT_HCI_ERR_UNKNOWN_CONN_ID 0x02
#define BT_HCI_ERR_HW_FAILURE 0x03
#define BT_HCI_ERR_PAGE_TIMEOUT 0x04
#define BT_HCI_ERR_AUTH_FAIL 0x05
#define BT_HCI_ERR_PIN_OR_KEY_MISSING 0x06
#define BT_HCI_ERR_MEM_CAPACITY_EXCEEDED 0x07
#define BT_HCI_ERR_CONN_TIMEOUT 0x08
#define BT_HCI_ERR_CONN_LIMIT_EXCEEDED 0x09
#define BT_HCI_ERR_SYNC_CONN_LIMIT_EXCEEDED 0x0a
#define BT_HCI_ERR_CONN_ALREADY_EXISTS 0x0b
#define BT_HCI_ERR_CMD_DISALLOWED 0x0c
#define BT_HCI_ERR_INSUFFICIENT_RESOURCES 0x0d
#define BT_HCI_ERR_INSUFFICIENT_SECURITY 0x0e
#define BT_HCI_ERR_BD_ADDR_UNACCEPTABLE 0x0f
#define BT_HCI_ERR_CONN_ACCEPT_TIMEOUT 0x10
#define BT_HCI_ERR_UNSUPP_FEATURE_PARAM_VAL 0x11
#define BT_HCI_ERR_INVALID_PARAM 0x12
#define BT_HCI_ERR_REMOTE_USER_TERM_CONN 0x13
#define BT_HCI_ERR_REMOTE_LOW_RESOURCES 0x14
#define BT_HCI_ERR_REMOTE_POWER_OFF 0x15
#define BT_HCI_ERR_LOCALHOST_TERM_CONN 0x16
#define BT_HCI_ERR_REPEATED_ATTEMPTS 0x17
#define BT_HCI_ERR_PAIRING_NOT_ALLOWED 0x18
#define BT_HCI_ERR_UNKNOWN_LMP_PDU 0x19
#define BT_HCI_ERR_UNSUPP_REMOTE_FEATURE 0x1a
#define BT_HCI_ERR_SCO_OFFSET_REJECTED 0x1b
#define BT_HCI_ERR_SCO_INTERVAL_REJECTED 0x1c
#define BT_HCI_ERR_SCO_AIR_MODE_REJECTED 0x1d
#define BT_HCI_ERR_INVALID_LL_PARAM 0x1e
#define BT_HCI_ERR_UNSPECIFIED 0x1f
#define BT_HCI_ERR_UNSUPP_LL_PARAM_VAL 0x20
#define BT_HCI_ERR_ROLE_CHANGE_NOT_ALLOWED 0x21
#define BT_HCI_ERR_LL_RESP_TIMEOUT 0x22
#define BT_HCI_ERR_LL_PROC_COLLISION 0x23
#define BT_HCI_ERR_LMP_PDU_NOT_ALLOWED 0x24
#define BT_HCI_ERR_ENC_MODE_NOT_ACCEPTABLE 0x25
#define BT_HCI_ERR_LINK_KEY_CANNOT_BE_CHANGED 0x26
#define BT_HCI_ERR_REQUESTED_QOS_NOT_SUPPORTED 0x27
#define BT_HCI_ERR_INSTANT_PASSED 0x28
#define BT_HCI_ERR_PAIRING_NOT_SUPPORTED 0x29
#define BT_HCI_ERR_DIFF_TRANS_COLLISION 0x2a
#define BT_HCI_ERR_QOS_UNACCEPTABLE_PARAM 0x2c
#define BT_HCI_ERR_QOS_REJECTED 0x2d
#define BT_HCI_ERR_CHAN_ASSESS_NOT_SUPPORTED 0x2e
#define BT_HCI_ERR_INSUFF_SECURITY 0x2f
#define BT_HCI_ERR_PARAM_OUT_OF_MANDATORY_RANGE 0x30
#define BT_HCI_ERR_ROLE_SWITCH_PENDING 0x32
#define BT_HCI_ERR_RESERVED_SLOT_VIOLATION 0x34
#define BT_HCI_ERR_ROLE_SWITCH_FAILED 0x35
#define BT_HCI_ERR_EXT_INQ_RESP_TOO_LARGE 0x36
#define BT_HCI_ERR_SIMPLE_PAIR_NOT_SUPP_BY_HOST 0x37
#define BT_HCI_ERR_HOST_BUSY_PAIRING 0x38
#define BT_HCI_ERR_CONN_REJECTED_DUE_TO_NO_CHAN 0x39
#define BT_HCI_ERR_CONTROLLER_BUSY 0x3a
#define BT_HCI_ERR_UNACCEPT_CONN_PARAM 0x3b
#define BT_HCI_ERR_ADV_TIMEOUT 0x3c
#define BT_HCI_ERR_TERM_DUE_TO_MIC_FAIL 0x3d
#define BT_HCI_ERR_CONN_FAIL_TO_ESTAB 0x3e
#define BT_HCI_ERR_MAC_CONN_FAILED 0x3f
#define BT_HCI_ERR_CLOCK_ADJUST_REJECTED 0x40
#define BT_HCI_ERR_SUBMAP_NOT_DEFINED 0x41
#define BT_HCI_ERR_UNKNOWN_ADV_IDENTIFIER 0x42
#define BT_HCI_ERR_LIMIT_REACHED 0x43
#define BT_HCI_ERR_OP_CANCELLED_BY_HOST 0x44
#define BT_HCI_ERR_PACKET_TOO_LONG 0x45
#define BT_HCI_ERR_AUTHENTICATION_FAIL __DEPRECATED_MACRO BT_HCI_ERR_AUTH_FAIL
#ifdef __cplusplus
}
#endif
#endif /* ZEPHYR_INCLUDE_BLUETOOTH_HCI_STATUS_H_ */

View file

@ -0,0 +1,152 @@
/** @file
* @brief Bluetooth HCI RAW channel handling
*/
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_BLUETOOTH_HCI_RAW_H_
#define ZEPHYR_INCLUDE_BLUETOOTH_HCI_RAW_H_
/**
* @brief HCI RAW channel
* @defgroup hci_raw HCI RAW channel
* @ingroup bluetooth
* @{
*/
#ifdef __cplusplus
extern "C" {
#endif
#if defined(CONFIG_BT_CTLR_TX_BUFFER_SIZE)
#define BT_L2CAP_MTU (CONFIG_BT_CTLR_TX_BUFFER_SIZE - BT_L2CAP_HDR_SIZE)
#else
#define BT_L2CAP_MTU 65 /* 64-byte public key + opcode */
#endif /* CONFIG_BT_CTLR */
/** Data size needed for ACL buffers */
#define BT_BUF_ACL_SIZE BT_L2CAP_BUF_SIZE(BT_L2CAP_MTU)
#if defined(CONFIG_BT_CTLR_TX_BUFFERS)
#define BT_HCI_ACL_COUNT CONFIG_BT_CTLR_TX_BUFFERS
#else
#define BT_HCI_ACL_COUNT 6
#endif
#define BT_BUF_TX_SIZE MAX(BT_BUF_RX_SIZE, BT_BUF_ACL_SIZE)
/** @brief Send packet to the Bluetooth controller
*
* Send packet to the Bluetooth controller. Caller needs to
* implement netbuf pool.
*
* @param buf netbuf packet to be send
*
* @return Zero on success or (negative) error code otherwise.
*/
int bt_send(struct net_buf *buf);
enum {
/** Passthrough mode
*
* While in this mode the buffers are passed as is between the stack
* and the driver.
*/
BT_HCI_RAW_MODE_PASSTHROUGH = 0x00,
/** H:4 mode
*
* While in this mode H:4 headers will added into the buffers
* according to the buffer type when coming from the stack and will be
* removed and used to set the buffer type.
*/
BT_HCI_RAW_MODE_H4 = 0x01,
};
/** @brief Set Bluetooth RAW channel mode
*
* Set access mode of Bluetooth RAW channel.
*
* @param mode Access mode.
*
* @return Zero on success or (negative) error code otherwise.
*/
int bt_hci_raw_set_mode(uint8_t mode);
/** @brief Get Bluetooth RAW channel mode
*
* Get access mode of Bluetooth RAW channel.
*
* @return Access mode.
*/
uint8_t bt_hci_raw_get_mode(void);
#define BT_HCI_ERR_EXT_HANDLED 0xff
/** Helper macro to define a command extension
*
* @param _op Opcode of the command.
* @param _min_len Minimal length of the command.
* @param _func Handler function to be called.
*/
#define BT_HCI_RAW_CMD_EXT(_op, _min_len, _func) \
{ \
.op = _op, \
.min_len = _min_len, \
.func = _func, \
}
struct bt_hci_raw_cmd_ext {
/** Opcode of the command */
uint16_t op;
/** Minimal length of the command */
size_t min_len;
/** Handler function.
*
* Handler function to be called when a command is intercepted.
*
* @param buf Buffer containing the command.
*
* @return HCI Status code or BT_HCI_ERR_EXT_HANDLED if command has
* been handled already and a response has been sent as oppose to
* BT_HCI_ERR_SUCCESS which just indicates that the command can be
* sent to the controller to be processed.
*/
uint8_t (*func)(struct net_buf *buf);
};
/** @brief Register Bluetooth RAW command extension table
*
* Register Bluetooth RAW channel command extension table, opcodes in this
* table are intercepted to sent to the handler function.
*
* @param cmds Pointer to the command extension table.
* @param size Size of the command extension table.
*/
void bt_hci_raw_cmd_ext_register(struct bt_hci_raw_cmd_ext *cmds, size_t size);
/** @brief Enable Bluetooth RAW channel:
*
* Enable Bluetooth RAW HCI channel.
*
* @param rx_queue netbuf queue where HCI packets received from the Bluetooth
* controller are to be queued. The queue is defined in the caller while
* the available buffers pools are handled in the stack.
*
* @return Zero on success or (negative) error code otherwise.
*/
int bt_enable_raw(struct k_fifo *rx_queue);
#ifdef __cplusplus
}
#endif
/**
* @}
*/
#endif /* ZEPHYR_INCLUDE_BLUETOOTH_HCI_RAW_H_ */

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