Commit Graph

10 Commits

Author SHA1 Message Date
Jerome Lambourg
fb07d1d45f SDMMC_Init: Slightly improve the high-speed mode selection.
Also add more comments on the commands and data structure exchanged.
2017-05-02 14:28:53 +02:00
Jerome Lambourg
fb083f9067 testsuite: Fix uninitialized values in BMP headers.
Also add a .gitignore directive to ignore the test.bmp file that is created
by the bitmap test.
2017-05-02 14:28:53 +02:00
Jerome Lambourg
8458be284a Soft_Drawing_Bitmap: take care of buffer size in Draw_Line 2017-05-02 14:28:53 +02:00
Jerome Lambourg
9b591d1480 Refactor and fix the bitmap layers.
This commit provides the following fixes:
* pure LTDC mode: fix the 'copy_back' function when swapping the double
  buffered layers.
* fix the 'swapped' mode, when buffer's internal representation has swapped
  x/y values.

This commit enhances the efficiency of the graphical primitives, by
* better organizing the potentially hardware-optimized primitives
* constantly redirecting the other ones to those hardware-optimized when
  appropriate
* optimize the software-rendered copy_rect
* use direct fields access for values that are used very often (width, height,
  color_mode)
* provide a mean to easily know if a bitmap is a memory buffer or a device
* adds finer control over the potentially DMA-accelerated Fill_Rect primitive.
* add direct access to DMA2D buffers, to prevent too much dispatching
2017-05-02 14:28:53 +02:00
Jerome Lambourg
a1fbb0fc89 In HAL.Bitmap, add control over the data cache manipulation.
In order to copy big chunks of data from buffer to buffer, it is usually
desirable to use DMA and thus we need to ensure that the memory and the cache
are coherent before transfering the data.

This is however a costly operation, that in controlled circumstances is not
needed.

Hence the addition of the Clean_Cache parameter to the Copy_Rect* subprograms.

This also adds a missing variant for Set_Pixel_Blend with color as native
representation, and improves the implementation of
Soft_Drawing_Bitmap.Copy_Rect to ease the implementation of
hardware-accelerated drawing primitives. STM32.DMA2D_Bitmap is simplified
accordingly.
2017-05-02 14:28:53 +02:00
Jerome Lambourg
1fa76dc605 Further refactor the board projects.
This commit in particular removes the need for aggregate projects.
2017-04-23 15:50:27 +02:00
Jerome Lambourg
13ef8db311 Rework the sdcard branch from master.
This merges the various sdcard handling enhancements into a single commit,
the two branches master and sdcard having diverged too much to perform
a simple git merge.
2017-03-28 14:55:52 +02:00
Fabien Chouteau
d8181686c3 Bitmap: Add monochrome support 2017-02-26 20:30:50 +01:00
Fabien Chouteau
0a804815ae HAL: Make UInt8|16|32 derived from Interfaces types rather than subtypes
This remove the dependency on the Interfaces package which simplify the
use of HAL types.

Also remove Byte and Bit subtype.
2017-02-13 21:18:34 +01:00
Fabien Chouteau
748dd1adac Renames Services to Middleware
The name services seems to be confusing so I propose to rename it to
middleware. Although the middleware word is quite overloaded in software
development, I think the signification is clear enough for this project.
Also it's the word use by ST for in STM32Cube to hold USB stack, network
stack, filesystems, audio tools, which coresponds with the definition of
what was is currently called services.
2017-01-27 08:22:00 +01:00