Porting the Adafruit SSD1306 Library to STM32 HAL with DMA (I2C only)

I needed to be able to control lots of small ssd1306 i2c displays using the STM32f103. Therefore I ported the Adafruit library to stm hal. Since i2c is slow (~4 ms for a full refresh) the display update is done using DMA.

The initialization code for I2C and DMA has been generated using CubeMX.

The display code is here. The hardware initialization code is here

Written on March 25, 2018