summaryrefslogtreecommitdiff
path: root/shared-module/board
AgeCommit message (Collapse)Author
2020-10-26Fix lost board.SPI and board.I2C after explicitly deiniting them.Christian Walther
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-26Fix lost board.SPI and board.I2C after being used by display.Christian Walther
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-26Fix erroneous claim of board.I2C() by deinited display.Christian Walther
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-09-30Add Metro ESP32S2Scott Shawcroft
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-25Change I2C default to 100khzScott Shawcroft
Greater that 100khz is technically out of the original spec. Background here: https://github.com/adafruit/Adafruit_CircuitPython_CLUE/issues/36
2020-09-11Moved SPI unlock coderoot
2020-09-09Removed unneeded pointerroot
2020-09-09Moved SPI unlock to reset_board_busses()root
2020-09-06Make sure SPI lock is free initiallyroot
2020-08-18Fix build error for \!DISPLAYJeff Epler
2020-08-18reset_board_buses: need to check if sharpdisplay uses SPI busJeff Epler
2020-06-24Add UART supportScott Shawcroft
2020-05-19Enable showing the console on a debug uartMark Olsson
2020-02-28new pin validation routines; don't use mp_const_none if NULL will doDan Halbert
2020-02-23Fix incorrect initialisation of default UARTDave Marples
2020-02-18Addition of RS485 supportDave Marples
2020-02-18Addition of RTS/CTS/RS485 UART functionalityDave Marples
2019-11-27make UART.write be blocking on SAMD; add timeout propertyDan Halbert
2019-08-14Fix I2CDisplay lifecycle and splash lifecycle.Scott Shawcroft
Fixes https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/issues/2
2019-07-22Add feature conditionals and clean upHierophect
2019-07-17Add missing files for DigitalIOHierophect
2019-06-06Include display objects in gc.Dan Halbert
2019-04-09Fix boards with no shared busses.Scott Shawcroft
2019-04-08Delete stale TODOScott Shawcroft
2019-04-08Reorganize board busses into shared-bindings and shared-module.Scott Shawcroft