Comments (6)
Agreed, on both points.
The component driver is very low-level, and limited in scope. The LTDC interface does more, and will eventually be revised to be in terms of the component driver.
We considered "ancillary" instead of "utils" (among others) but have yet to find a good name. It may be that we need to break up the contents to find a good name.
Thanks for the comments!
from ada_drivers_library.
Probably I should move the STM32F4.* packages from utils/ to drivers/ and thereby simplify things a little. Originally the drivers/ dir was strictly for actual devices described by the RM, but that may be more narrow a definition than necessary.
from ada_drivers_library.
hi, from what I see and understood about LTDC, the driver should be indeed in drivers.
But not in this current form as it seems to be a mix between low-level driver and middleware.
I would see the peripheral driver layer in 'drivers' and the layer using SPI and GPIO in 'utils' folder.
by the way, 'utils' isn't so badly named and is often used to place utility services which act in the inter-layers, ie not ll driver, not middleware but useful to app developer. Middleware are usually services like an usb stack, a filesystem management, a graphic layer etc...
from ada_drivers_library.
Yes, the LTDC is a bit of a mixture at present. It was written prior to the ILI9341 component driver so we envision it being revised accordingly, at some point, and made more independent of the board.
I agree that utils is a good name as long as that's what is in there.
from ada_drivers_library.
The LTDC driver (and more generally framebuffer display) have been greatly refactored in the 'svd' branch. In particular:
- stm32-ltdc.ads now only configures the LTDC peripheral
- stm32-dma2d also only configures the peripheral
- a new HAL.Framebuffer interface has been introduce to handle framebuffer displays
- this interface is partially implemented in boards/common_stm32/ltdc/framebuffer_ltdc.ads.
- a new HAL.Bitmap type has also been introduced to perform operations on bitmap surfaces,
- a specialized version bitmap_dma2d allows hardware acceleration.
- all those interfaces are fully implemented at the board levels.
from ada_drivers_library.
This is now integrated into the master branch. So I'm closing this issue, feel free to open a new one if you see ways to improve the current architecture (even better if you can contribute changes: we're very open to your participation to this project)!
Best regards,
- Jerome
from ada_drivers_library.
Related Issues (20)
- Some examples do not build HOT 6
- Support LSM303AGR for newer micro:bit hardware revisions HOT 1
- Target not found for Micro:Bit with Debian Linux HOT 3
- Project Wizard doesn't generate startup files HOT 3
- Include directions in examples/README.md to have compatible versions of bb-runtimes and compiler
- Support for Adafruit Feather M0 board HOT 3
- mma8653 initialization fails on MicroBit HOT 21
- EXAMPLES: Installing run-time dependencies fails with both Python 2 and Python 3 on Linux HOT 2
- Make HAL packages preelaborable HOT 1
- I2C HAL ideas HOT 15
- Many warnings with GCC 12 HOT 2
- RISC-V requires "zicsr" ISA extension to build with FSF GNAT 12.1.1 HOT 11
- IO expander MCP23x08 reports GPIO mode always as Output HOT 1
- Support for STM32F411CEU6 board HOT 1
- Extension zicsr required in HiFive1_rev_B board
- Microbit.Time resets the board
- How to get the toolchain up and running? HOT 15
- Compiler crash with pragma Ada_2022 on body HOT 2
- gnatprove incompatibility
- Incorrect usage of 'Val instead of 'Enum_Val
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ada_drivers_library.