Commit Graph

1028 Commits

Author SHA1 Message Date
Jerome Lambourg
11a4aa16e2 Remove useless use/with clauses. 2017-10-14 22:10:53 +02:00
Jerome Lambourg
b9aa3a3a2c Initial version of a raspberry pi 2 & 3 drivers library 2017-05-02 14:28:53 +02:00
Jerome Lambourg
ce176a78d6 STM32.SDRAM: provide a rollback mechanism for fast deallocation 2017-05-02 14:28:53 +02:00
Jerome Lambourg
114dd979fd Touch_Panel: provide more information on the touch events to the user
This allows in particular in multi-touch panels to keep track of individual
fingers.

Also this improves the performance of reading the touch events on the FT*
drivers, by using batch reading of the touch registers.

Finally this commit also fixes the ft6x06 driver implemented on the F469 and
F769 disco boards.
2017-05-02 14:28:53 +02:00
Jerome Lambourg
4fcf2e3a80 stm32.Setup: take care of already initialized I2C ports. 2017-05-02 14:28:53 +02:00
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
746e3a33da HAL: fix the alignment of audio buffers. 2017-05-02 14:28:53 +02:00
Jerome Lambourg
36ea512786 Fix the OpenMV2 example after the changes in bitmap API. 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
fd37b2cc31 STM32 boards: refactor the sdcard and otm8009a support.
This avoids duplicated code.

SDMMC STM32 drivers: various fixes.

This commit now properly initializes the SD/MMC clock source.
This also fixes the missing initialization of some PINs there.

This is needed to properly calculate the Card's clock to apply.

Fix also fixes a wrong pre-condition in stm32-sdmmc.ads
2017-05-02 14:25:35 +02:00
Jerome Lambourg
3bccd9de5c examples/common/common.gpr: Do not specify the stack size
This is the responsibility of the final application.
2017-04-24 15:49:10 +02:00
Jerome Lambourg
0309b0ceb3 boards/*.gpr: add a notice 'automatically generated' with pointer to gen.py 2017-04-23 18:01:56 +02:00
Jerome Lambourg
ef2b3d3da0 Fix examples after changes in config.gpr 2017-04-23 17:47:31 +02:00
Jerome Lambourg
ec3efd7875 Fix the testsuite after the changes in the config project 2017-04-23 16:46:26 +02:00
Jerome Lambourg
522670852b Fix scripts/build_all_examples.py
Fix a build error that may happen due to an old gprbuild being in use.
2017-04-23 16:39:46 +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
30c866b3eb when building all the examples, now use RTS_Profile instead of RTS 2017-04-21 10:54:39 +02:00
Jerome Lambourg
7de4174925 appveyor.yml: tentative fix for cached data 2017-04-21 10:54:11 +02:00
Jerome Lambourg
05f683d6ad Fix the appveyor.yml script so that it installs the embedded runtimes 2017-04-21 10:12:17 +02:00
Jerome Lambourg
f57a34a3f2 Fix the testsuite after the changes in config project. 2017-04-21 10:12:12 +02:00
Jerome Lambourg
29381c9f63 Fix the examples. 2017-04-21 10:12:07 +02:00
Jerome Lambourg
e21e7a5837 Remove the dependency over embedded-runtimes.
This build dependency won't work anymore with the next GNAT release as
runtimes will now require being installed into the compiler.

This commit also now generates automatically the board projects, to ease
the addition of new boards and runtimes, as well as taking into account
modifications refactoring of the library.
2017-04-21 10:11:53 +02:00