This returns the localization of the running CircuitPython, such as
en_US, fr, etc.
Additional changes are needed in build infrastructure since the
string "en_US" should not appear to be translated in weblate, ever;
instead the value comes from the translation metadata.
Closes: #8602
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.
On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.
This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.
Fixes#8512. Fixes#7334.
It looks like we need the MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS flag on
the class for properties to work, and the Keys, KeyMatrix and
ShiftRegisterKeys classes were missing it, so the "events" property
didn't appear on the instances.
micropython puts the pointer-ness into the typedef; we can put the
const-ness there too.
this reduces the delta to micropython; for instance, emitinlinextensa
and emitinlinethumb now match upstream.
These are moved:
* Display -> busdisplay.BusDisplay
* FourWire -> fourwire.FourWire
* EPaperDisplay -> epaperdisplay.EPaperDisplay
* I2CDisplay -> i2cdisplaybus.I2CDisplayBus
`paralleldisplay` is now `paralleldisplaybus` (and registered as
`paralleldisplay` too).
Bus related helpers are split out of display_core into bus_core.
It is in still displayio since it is a dependency of both
busdisplay and epaperdisplay.
Fixes#7667
Update the documentation in circuitpython/shared-bindings/rotaryio/IncrementalEncoder.c
to explicitly state that rotaryio.IncrementalEncoder assumes the encoder's pins are
connected to ground and sets pull-ups on the pins accordingly.
Closes#5847
Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com>