* Start on STM32 DMA SPI
* Update all objects.hs, add interrupt function
* Initial DMA code should be ready to test out...
* Fix SPI interrupt-mode IRQ handlers, add SPI::transfer_and_wait
* Fix CMake error when building for STM32WL processors
* Now builds on all STM devices!
* Properly support STM32U5 / DMA IP v3
* Start on STM32F4 support, fix hardfault on IP v1 and v3 due to incorrect indexing
* Fix Rx-only transfers, add abort code, fix incorrect channel assignments for DMA IP v1 devices
* Start on STM32H7 SPI DMA
* Fixes for H7: Correctly manage data cache, keep SPI ISR enabled
* Implement DMA SPI header constants for all remaining STM32 families. Also add support for freeing DMA channels
* Try and fix build on STM32G0
* Fix build on STM32G0
* Add SPI_32BIT_WORDS label, start on fixing SPI docs
* SPI: Implement reference counting so that DMA channels get freed properly
* Fix issue where SPI data could get corrupted (by TI mode turning on) depending on memory layout (if your spis pointer & 0x10 was nonzero)
* Mark DMA channels as unallocated when SPI bus is freed
* Simplify spi_abort_asynch()
* Fix some rebase issues, fix failing to allocate DMA channel on STM32U5
* Fix DMA getting stuck on STM32F4, F7, and F2
* Initial import of python packages
* Move tests to subfolder, use tests in generate_configuration.cmake
* Bring python packages into the source tree instead of needing to be installed separately
* Use python3
* Just use distro default python
* Install all the requirements with apt-get
* unittests is part of Python now
* Add appdirs, set python version
* Add some missing dependencies
* Add more packages
* Add requirements.apt.txt files, fix relative paths with scancode_evaluate.py
* Fix return code handling for license scan errors
* ok let's try that again, also improve error output from scancode evaluate
* Add missing license headers
* Print the command when a greentea test is being run. Also fix mbedhtrun not being on PATH causing all tests to pass!
* Also remove useless -f argument to mbedhtrun (not used with --skip-flashing)