summaryrefslogtreecommitdiff
path: root/shared-module
AgeCommit message (Collapse)Author
2021-03-04Be cognizant of null transform for .transpose_xyDan Halbert
2021-03-03use self->members in displayio_group_set()Dan Halbert
2021-03-03Merge pull request #4315 from dhalbert/rp2040-i2c-short-writesDan Halbert
RP2040: Implement short I2C writes (2 bytes or less) using bitbangio
2021-03-02Merge pull request #4186 from jepler/update-protomatter-rp2Jeff Epler
Enable protomatter on RP2040 builds
2021-03-02Merge remote-tracking branch 'adafruit/main' into rp2040-i2c-short-writesDan Halbert
2021-03-02wipDan Halbert
2021-03-02Merge pull request #4233 from pewpew-game/displayio-group-listScott Shawcroft
displayio: make Group use a python list internally
2021-03-01Merge pull request #4256 from kmatch98/bt_cleanupScott Shawcroft
Add `bitmaptools` module
2021-03-01Merge remote-tracking branch 'origin/main' into update-protomatter-rp2Jeff Epler
2021-02-27Separate out mp_obj_list_insert for use in display.GroupRadomir Dopieralski
Note that for some reason this makes the binary 500 bytes larger!
2021-02-27Remove max_size from displayio.GroupRadomir Dopieralski
Still accept it as an argument. Add deprecation note.
2021-02-27Remove unused typedef for group childrenRadomir Dopieralski
2021-02-27Separate mp_obj_list_pop so it can be used outside of objlist.cRadomir Dopieralski
2021-02-27Replace displaio.Group.children with a python listRadomir Dopieralski
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-27displaio: don't store group children native objectRadomir Dopieralski
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-26fix two off by one errorsKevin Matocha
2021-02-26Merge remote-tracking branch 'origin/main' into update-protomatter-rp2Jeff Epler
2021-02-25Update for clean blitting into itselfKevin Matocha
2021-02-25Merge pull request #4258 from jepler/pixelbuf-brightness-performanceScott Shawcroft
_pixelbuf: Increase performance of brightness-scaling
2021-02-24_pixelbuf: Respond to review commentsJeff Epler
* 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-24Add the missing argument to the HID functionsKamil Tomaszewski
2021-02-24_pixelbuf: Increase performance of brightness-scalingJeff Epler
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-23Add bitmaptools moduleKevin Matocha
2021-02-21Avoid pulling in extra float-uint64 routinesDan Halbert
2021-02-19merge from upstream; re-alphabetizeDan Halbert
2021-02-19handle reads/writes larger than buffers; add .write_timeoutDan Halbert
2021-02-18requested changesJeff Epler
2021-02-18bitops: rename from _bit_transpose, describe the algorithmJeff Epler
2021-02-18bit_transpose: Support from 2 to 7 strands, not just 8Jeff Epler
2021-02-18core: add bit_transpose functionJeff Epler
.. this version can only handle exactly 8 bits "across". The restriction may be relaxed in a future revision.
2021-02-17add timeout; finish up for PRDan Halbert
2021-02-16works! no timeoutsDan Halbert
2021-02-15wip: usb_cdc.serialsDan Halbert
2021-02-15Merge remote-tracking branch 'adafruit/main' into secondary-cdcDan Halbert
2021-02-12wipDan Halbert
2021-02-12Enable protomatter on RP2040 buildsJeff Epler
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-11Remove adafruit_bus_device.SPIDevice.spiDan Halbert
2021-02-02Merge pull request #4114 from tannewt/spidevice_spiScott Shawcroft
Add .spi accessor to SPIDevice
2021-02-01Add .spi accessor to SPIDeviceScott Shawcroft
Fixes #4108
2021-02-01Fixed for boards without longintgamblor21
2021-01-26rgbmatrix: Eliminate some duplicated height-calculating codeJeff Epler
This was hard to write, so let's have it written in 2 places instead of 4.
2021-01-26RGBMatrix: Additional tile tweaksJeff Epler
* 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-26protmatter: Update to version that supports tilingJeff Epler
2021-01-25Merge pull request #4051 from jamesbowman/mainScott Shawcroft
EVE: change fixed-point integer arguments to floating point
2021-01-25Merge pull request #3936 from gamblor21/busdevice_fixesScott Shawcroft
Changing adafruit_bus_device to duck typing
2021-01-22Change from fixed-point integer arguments to floating point in EVE API functionsJames Bowman
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-20Fix warnings that come from -O3 (I think)Scott Shawcroft
2021-01-20Add initial RP2040 supportScott Shawcroft
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-18handle exttype & chunk long readsBernhard Boser
2021-01-16Fixes from draft PRgamblor21