Commit Graph

16964 Commits

Author SHA1 Message Date
Jeff Epler
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
Jeff Epler
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
Jeff Epler
710c2dc54b safe_mode: Exclude NORDIC_SOFT_DEVICE_ASSERT str if possible 2020-08-04 14:45:45 -05:00
Jeff Epler
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
Jeff Epler
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
Jeff Epler
024c8da578 Combine some "can't convert" messages 2020-08-04 14:45:45 -05:00
Jeff Epler
d0427cf60c Combine some "safe mode" messages 2020-08-04 14:45:45 -05:00
Jeff Epler
c849b781c0 Combine 'index out of range' messages 2020-08-04 14:45:45 -05:00
Jeff Epler
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
Jeff Epler
c37a25f0e5 Use qstrs to save an additional 4 bytes 2020-08-04 14:45:45 -05:00
Jeff Epler
92917b84f1 fix exception type for pop from empty set 2020-08-04 13:58:29 -05:00
Jeff Epler
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
Jeff Epler
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
Jeff Epler
0e2d231445 Merge remote-tracking branch 'origin/main' into stm32-sdioio 2020-08-03 21:01:53 -05: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
Lucian Copeland
4900668778 Merge remote-tracking branch 'upstream/main' into esp32-neopixel 2020-08-03 12:26:37 -04:00
Jeff Epler
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
Jeff Epler
e666e86035 mpy-cross: fix dependency analysis
Closes: #3074
2020-08-02 20:42:10 -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
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
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
Jeff Epler
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
Jeff Epler
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
Jeff Epler
59ebad6acb make translate 2020-07-30 07:19:19 -05:00
Jeff Epler
f175a49444 stm: sdioio: include header for common_hal_mcu_pin_claim 2020-07-30 07:18:12 -05:00
Jeff Epler
b57e6e9856 stm: sdioio: call common_hal_mcu_pin_claim 2020-07-30 07:18:12 -05:00
Jeff Epler
d73505a027 stm: fix if-guard of conditional code 2020-07-30 07:18:12 -05:00
Jeff Epler
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
Jeff Epler
ccd3013396 stm: stioio: correctly claim pins 2020-07-30 07:18:02 -05:00
Jeff Epler
3cf1258c87 stm: sdioio: Get rid of debug code and useless comments 2020-07-30 07:18:02 -05:00
Jeff Epler
6a99a7b551 stm: Use 'Invalid %q pin selection' more places 2020-07-30 07:18:02 -05:00
Jeff Epler
92d2f47503 feather_stm32f405_express: sdio_data_tuple should be static 2020-07-30 07:18:02 -05:00
Jeff Epler
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
Jeff Epler
d30f11163c stm: enable SD module in HAL 2020-07-30 07:18:02 -05:00
Jeff Epler
af135a7560 atmel-samd: move samd-specific script 2020-07-30 07:18:02 -05:00